summaryrefslogtreecommitdiff
path: root/apps/gui
diff options
context:
space:
mode:
Diffstat (limited to 'apps/gui')
-rw-r--r--apps/gui/skin_engine/skin_engine.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/apps/gui/skin_engine/skin_engine.c b/apps/gui/skin_engine/skin_engine.c
index 0186471550..e28e4fbbf4 100644
--- a/apps/gui/skin_engine/skin_engine.c
+++ b/apps/gui/skin_engine/skin_engine.c
@@ -43,6 +43,7 @@
43void skin_data_free_buflib_allocs(struct wps_data *wps_data); 43void skin_data_free_buflib_allocs(struct wps_data *wps_data);
44char* wps_default_skin(enum screen_type screen); 44char* wps_default_skin(enum screen_type screen);
45char* default_radio_skin(enum screen_type screen); 45char* default_radio_skin(enum screen_type screen);
46static bool skins_initialised = false;
46 47
47static char* get_skin_filename(char *buf, size_t buf_size, 48static char* get_skin_filename(char *buf, size_t buf_size,
48 enum skinnable_screens skin, enum screen_type screen); 49 enum skinnable_screens skin, enum screen_type screen);
@@ -131,6 +132,8 @@ void settings_apply_skins(void)
131#ifdef HAVE_LCD_BITMAP 132#ifdef HAVE_LCD_BITMAP
132 skin_backdrop_init(); 133 skin_backdrop_init();
133#endif 134#endif
135 skins_initialised = true;
136
134 /* Make sure each skin is loaded */ 137 /* Make sure each skin is loaded */
135 for (i=0; i<SKINNABLE_SCREENS_COUNT; i++) 138 for (i=0; i<SKINNABLE_SCREENS_COUNT; i++)
136 { 139 {
@@ -265,6 +268,9 @@ static char* get_skin_filename(char *buf, size_t buf_size,
265 268
266struct gui_wps *skin_get_gwps(enum skinnable_screens skin, enum screen_type screen) 269struct gui_wps *skin_get_gwps(enum skinnable_screens skin, enum screen_type screen)
267{ 270{
271 if (skin == CUSTOM_STATUSBAR && !skins_initialised)
272 return &skins[skin][screen].gui_wps;
273
268 if (skins[skin][screen].data.wps_loaded == false) 274 if (skins[skin][screen].data.wps_loaded == false)
269 { 275 {
270 char filename[MAX_PATH]; 276 char filename[MAX_PATH];