From 7de980cd7a06475a645d4586b53fbe662e844624 Mon Sep 17 00:00:00 2001 From: Jonathan Gordon Date: Tue, 22 Jun 2010 09:44:55 +0000 Subject: [PATCH] fiddle with the code a bit so gcc doesnt optimise out a struct viewport causeing crashes in text_viewer git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27045 a1c6a512-1295-4272-9138-f99709370657 --- apps/gui/statusbar.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/apps/gui/statusbar.c b/apps/gui/statusbar.c index 901615d98a..dfd6cb35cf 100644 --- a/apps/gui/statusbar.c +++ b/apps/gui/statusbar.c @@ -278,16 +278,7 @@ void gui_statusbar_draw(struct gui_statusbar * bar, bool force_redraw, struct vi #endif memcmp(&(bar->info), &(bar->lastinfo), sizeof(struct status_info))) { - if (vp == NULL) - { - struct viewport viewport; - GET_RECT(viewport,statusbar_position(display->screen_type),display); - display->set_viewport(&viewport); - } - else - { - display->set_viewport(vp); - } + display->set_viewport(vp); display->set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID); display->fillrect(0, 0, display->getwidth(), STATUSBAR_HEIGHT); display->set_drawmode(DRMODE_SOLID); @@ -829,8 +820,10 @@ void gui_syncstatusbar_draw(struct gui_syncstatusbar * bars, return; #endif /* HAVE_LCD_BITMAP */ int i; + struct viewport viewport; FOR_NB_SCREENS(i) { - gui_statusbar_draw( &(bars->statusbars[i]), force_redraw, NULL ); + GET_RECT(viewport,statusbar_position(i),&screens[i]); + gui_statusbar_draw( &(bars->statusbars[i]), force_redraw, &viewport ); } }