summaryrefslogtreecommitdiff
path: root/apps/gui/bitmap
diff options
context:
space:
mode:
Diffstat (limited to 'apps/gui/bitmap')
-rw-r--r--apps/gui/bitmap/list.c18
1 files changed, 3 insertions, 15 deletions
diff --git a/apps/gui/bitmap/list.c b/apps/gui/bitmap/list.c
index 3da0d0b..2050043 100644
--- a/apps/gui/bitmap/list.c
+++ b/apps/gui/bitmap/list.c
@@ -640,21 +640,9 @@ unsigned gui_synclist_do_touchscreen(struct gui_synclist * gui_list)
&& !is_kinetic_over());
int icon_width = 0;
int line, list_width = list_text_vp->width;
- static bool wait_for_release = false;
released = (button&BUTTON_REL) != 0;
- if (released && wait_for_release)
- { /* was waiting on a release, reset everything so the next call
- * can start from new */
- wait_for_release = false;
- last_position = 0;
- if (scroll_mode == SCROLL_KINETIC)
- kinetic_force_stop();
- scroll_mode = SCROLL_NONE;
- return ACTION_NONE;
- }
-
if (button == ACTION_NONE || button == ACTION_UNKNOWN)
{
/* this happens when we hit edges of the list while kinetic scrolling,
@@ -760,13 +748,13 @@ unsigned gui_synclist_do_touchscreen(struct gui_synclist * gui_list)
return ACTION_NONE;
}
- if (button & BUTTON_REPEAT && scroll_mode == SCROLL_NONE
- && !wait_for_release)
+ if (button & BUTTON_REPEAT && scroll_mode == SCROLL_NONE)
{
/* held a single line for a while, bring up the context menu */
gui_synclist_select_item(gui_list, list_start_item + line);
/* don't sent context repeatedly */
- wait_for_release = true;
+ action_wait_for_release();
+ last_position = 0;
return ACTION_STD_CONTEXT;
}
if (released && !cancelled_kinetic)