diff options
Diffstat (limited to 'apps/gui/yesno.c')
-rw-r--r-- | apps/gui/yesno.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/apps/gui/yesno.c b/apps/gui/yesno.c index 1a1645047a..d70b66f230 100644 --- a/apps/gui/yesno.c +++ b/apps/gui/yesno.c @@ -78,8 +78,9 @@ static void gui_yesno_draw(struct gui_yesno * yn) struct screen * display=yn->display; struct viewport *vp = yn->vp; int nb_lines, vp_lines, line_shift=0; + struct viewport *last_vp; - display->set_viewport(vp); + last_vp = display->set_viewport(vp); display->clear_viewport(); nb_lines = yn->main_message->nb_lines; vp_lines = viewport_get_nb_lines(vp); @@ -116,7 +117,7 @@ static void gui_yesno_draw(struct gui_yesno * yn) } #endif display->update_viewport(); - display->set_viewport(NULL); + display->set_viewport(last_vp); } /* @@ -133,11 +134,11 @@ static bool gui_yesno_draw_result(struct gui_yesno * yn, enum yesno_res result) struct screen * display=yn->display; if(message==NULL) return false; - display->set_viewport(vp); + struct viewport *last_vp = display->set_viewport(vp); display->clear_viewport(); put_message(yn->display, message, 0, viewport_get_nb_lines(vp)); display->update_viewport(); - display->set_viewport(NULL); + display->set_viewport(last_vp); return(true); } |