diff options
author | Thomas Martitz <kugel@rockbox.org> | 2009-09-04 00:40:50 +0000 |
---|---|---|
committer | Thomas Martitz <kugel@rockbox.org> | 2009-09-04 00:40:50 +0000 |
commit | 2ab627d3097ac7098741a724fc27b1c261473d4f (patch) | |
tree | 08c56f300aa5a52128a43617e91caeb406d71594 /apps/gui | |
parent | 3f2e28b0f551fe30b443739b539f3df41969262d (diff) | |
download | rockbox-2ab627d3097ac7098741a724fc27b1c261473d4f.tar.gz rockbox-2ab627d3097ac7098741a724fc27b1c261473d4f.zip |
Change r22610 a bit. The new parent viewport isn't really suitable.
The new parent might be smaller than the previous one, causing the old list to not stop scrolling. Full-screen stop scrolling isn't correct either though, so we pick the currnet ui viewport to stop scrolling.
This was actually a bug (attempted to fix in r22610) discovered in the custom statusbar patch, where the lists stopped the statusbar text from scrolling.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22613 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui')
-rw-r--r-- | apps/gui/bitmap/list.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/apps/gui/bitmap/list.c b/apps/gui/bitmap/list.c index 046621e8f3..c474c329ff 100644 --- a/apps/gui/bitmap/list.c +++ b/apps/gui/bitmap/list.c | |||
@@ -104,6 +104,9 @@ void list_draw(struct screen *display, struct gui_synclist *list) | |||
104 | const bool show_cursor = !global_settings.cursor_style && | 104 | const bool show_cursor = !global_settings.cursor_style && |
105 | list->show_selection_marker; | 105 | list->show_selection_marker; |
106 | struct viewport *parent = (list->parent[screen]); | 106 | struct viewport *parent = (list->parent[screen]); |
107 | /* the below returns a pointer to a viewport array which is | ||
108 | * NB_SCREENS long */ | ||
109 | struct viewport *ui_vp = viewport_get_current_vp(); | ||
107 | #ifdef HAVE_LCD_COLOR | 110 | #ifdef HAVE_LCD_COLOR |
108 | unsigned char cur_line = 0; | 111 | unsigned char cur_line = 0; |
109 | #endif | 112 | #endif |
@@ -112,7 +115,7 @@ void list_draw(struct screen *display, struct gui_synclist *list) | |||
112 | line_height = font_get(parent->font)->height; | 115 | line_height = font_get(parent->font)->height; |
113 | display->set_viewport(parent); | 116 | display->set_viewport(parent); |
114 | display->clear_viewport(); | 117 | display->clear_viewport(); |
115 | display->scroll_stop(parent); | 118 | display->scroll_stop(&ui_vp[screen]); |
116 | list_text[screen] = *parent; | 119 | list_text[screen] = *parent; |
117 | if ((show_title = draw_title(display, list))) | 120 | if ((show_title = draw_title(display, list))) |
118 | { | 121 | { |