diff options
Diffstat (limited to 'apps/gui/viewport.c')
-rw-r--r-- | apps/gui/viewport.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/apps/gui/viewport.c b/apps/gui/viewport.c index 6e4d9913c4..9b35c86c17 100644 --- a/apps/gui/viewport.c +++ b/apps/gui/viewport.c | |||
@@ -110,12 +110,13 @@ static void toggle_theme(enum screen_type screen, bool force) | |||
110 | 110 | ||
111 | if (is_theme_enabled(screen)) | 111 | if (is_theme_enabled(screen)) |
112 | { | 112 | { |
113 | bool first_boot = theme_stack_top[screen] == 0; | ||
113 | /* remove the left overs from the previous screen. | 114 | /* remove the left overs from the previous screen. |
114 | * could cause a tiny flicker. Redo your screen code if that happens */ | 115 | * could cause a tiny flicker. Redo your screen code if that happens */ |
115 | #if LCD_DEPTH > 1 || defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1 | 116 | #if LCD_DEPTH > 1 || defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1 |
116 | screens[screen].backdrop_show(sb_get_backdrop(screen)); | 117 | screens[screen].backdrop_show(sb_get_backdrop(screen)); |
117 | #endif | 118 | #endif |
118 | if (!was_enabled[screen] || force) | 119 | if (!first_boot && (!was_enabled[screen] || force)) |
119 | { | 120 | { |
120 | struct viewport deadspace, user; | 121 | struct viewport deadspace, user; |
121 | viewport_set_defaults(&user, screen); | 122 | viewport_set_defaults(&user, screen); |
@@ -161,7 +162,7 @@ static void toggle_theme(enum screen_type screen, bool force) | |||
161 | screens[screen].update_viewport(); | 162 | screens[screen].update_viewport(); |
162 | } | 163 | } |
163 | } | 164 | } |
164 | send_event(GUI_EVENT_ACTIONUPDATE, (void*)1); /* force a redraw */ | 165 | send_event(GUI_EVENT_ACTIONUPDATE, (void*)!first_boot); |
165 | } | 166 | } |
166 | else | 167 | else |
167 | { | 168 | { |