diff options
Diffstat (limited to 'apps/gui/statusbar.c')
-rw-r--r-- | apps/gui/statusbar.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/apps/gui/statusbar.c b/apps/gui/statusbar.c index cf70b7bb39..708624b23e 100644 --- a/apps/gui/statusbar.c +++ b/apps/gui/statusbar.c | |||
@@ -183,6 +183,7 @@ static void gui_statusbar_init(struct gui_statusbar * bar) | |||
183 | void gui_statusbar_draw(struct gui_statusbar * bar, bool force_redraw, struct viewport *vp) | 183 | void gui_statusbar_draw(struct gui_statusbar * bar, bool force_redraw, struct viewport *vp) |
184 | { | 184 | { |
185 | struct screen * display = bar->display; | 185 | struct screen * display = bar->display; |
186 | struct viewport *last_vp = NULL; | ||
186 | 187 | ||
187 | if (!display) | 188 | if (!display) |
188 | return; | 189 | return; |
@@ -267,7 +268,7 @@ void gui_statusbar_draw(struct gui_statusbar * bar, bool force_redraw, struct vi | |||
267 | #endif | 268 | #endif |
268 | memcmp(&(bar->info), &(bar->lastinfo), sizeof(struct status_info))) | 269 | memcmp(&(bar->info), &(bar->lastinfo), sizeof(struct status_info))) |
269 | { | 270 | { |
270 | display->set_viewport(vp); | 271 | last_vp = display->set_viewport(vp); |
271 | display->set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID); | 272 | display->set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID); |
272 | display->fill_viewport(); | 273 | display->fill_viewport(); |
273 | display->set_drawmode(DRMODE_SOLID); | 274 | display->set_drawmode(DRMODE_SOLID); |
@@ -343,7 +344,7 @@ void gui_statusbar_draw(struct gui_statusbar * bar, bool force_redraw, struct vi | |||
343 | gui_statusbar_led(display); | 344 | gui_statusbar_led(display); |
344 | #endif | 345 | #endif |
345 | display->update_viewport(); | 346 | display->update_viewport(); |
346 | display->set_viewport(NULL); | 347 | display->set_viewport(last_vp); |
347 | bar->lastinfo = bar->info; | 348 | bar->lastinfo = bar->info; |
348 | } | 349 | } |
349 | } | 350 | } |