summaryrefslogtreecommitdiff
path: root/apps/gui/statusbar.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/gui/statusbar.c')
-rw-r--r--apps/gui/statusbar.c5
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)
183void gui_statusbar_draw(struct gui_statusbar * bar, bool force_redraw, struct viewport *vp) 183void 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}