list: After drawing scrollbars, explcitly switch back to old viewport.
The viewport used for the scrollbar is allocated on the stack, and falls out of scope before the next call to set_viewport(), which sets a flag in the now-out-of-scope "last" viewport. Change-Id: I2c8bfcff500d189fa3857411aadc2e16aa545d2c
This commit is contained in:
parent
28c89386af
commit
8b56476a2c
1 changed files with 2 additions and 1 deletions
|
@ -203,11 +203,12 @@ void list_draw(struct screen *display, struct gui_synclist *list)
|
|||
vp.x += list_text_vp->width;
|
||||
else /* left */
|
||||
list_text_vp->x += SCROLLBAR_WIDTH;
|
||||
display->set_viewport(&vp);
|
||||
struct viewport *last = display->set_viewport(&vp);
|
||||
gui_scrollbar_draw(display,
|
||||
(scrollbar_in_left? 0: 1), 0, SCROLLBAR_WIDTH-1, vp.height,
|
||||
list->nb_items, list_start_item, list_start_item + nb_lines,
|
||||
VERTICAL);
|
||||
display->set_viewport(last);
|
||||
}
|
||||
/* shift everything a bit in relation to the title */
|
||||
else if (!VP_IS_RTL(list_text_vp) && scrollbar_in_left)
|
||||
|
|
Loading…
Reference in a new issue