summaryrefslogtreecommitdiffstats
path: root/apps/menu.c
diff options
context:
space:
mode:
authorPeter D'Hoye <peter.dhoye@gmail.com>2008-10-13 22:08:01 +0000
committerPeter D'Hoye <peter.dhoye@gmail.com>2008-10-13 22:08:01 +0000
commitc5383c1c278b0132801b1f55902d2ce887e87188 (patch)
tree8ac500c8c1e03e1acf7f79d0b1ecf5ddfe51ca3b /apps/menu.c
parent14a6fd9bbe9c80edbc3b414e47376a20908cdba1 (diff)
downloadrockbox-c5383c1c278b0132801b1f55902d2ce887e87188.tar.gz
rockbox-c5383c1c278b0132801b1f55902d2ce887e87188.tar.bz2
rockbox-c5383c1c278b0132801b1f55902d2ce887e87188.zip
Stop scrolling lines when entering or leaving a menu list item. Fixes FS #9478 (Scrolling lines from (menu) lists are drawn over other screens)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18802 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/menu.c')
-rw-r--r--apps/menu.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/apps/menu.c b/apps/menu.c
index c55c39fc5c..c3bc00b010 100644
--- a/apps/menu.c
+++ b/apps/menu.c
@@ -500,9 +500,14 @@ int do_menu(const struct menu_item_ex *start_menu, int *start_selected,
{
bool exiting_menu = false;
in_stringlist = false;
+ /* might be leaving list, so stop scrolling */
+ FOR_NB_SCREENS(i)
+ {
+ screens[i].stop_scroll();
+ }
if (menu_callback)
menu_callback(ACTION_EXIT_MENUITEM, menu);
-
+
if (menu->flags&MENU_EXITAFTERTHISMENU)
done = true;
else if ((menu->flags&MENU_TYPE_MASK) == MT_MENU)
@@ -528,6 +533,11 @@ int do_menu(const struct menu_item_ex *start_menu, int *start_selected,
else if (action == ACTION_STD_OK)
{
int type;
+ /* entering an item that may not be a list, so stop scrolling */
+ FOR_NB_SCREENS(i)
+ {
+ screens[i].stop_scroll();
+ }
#ifdef HAVE_BUTTONBAR
if (!hide_bars)
{