summaryrefslogtreecommitdiffstats
path: root/apps/action.c
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2012-04-05 13:00:05 +0200
committerThomas Martitz <kugel@rockbox.org>2012-04-05 15:01:59 +0200
commitbb0e4cc543e4c7bed6dff3a41d092b6867632535 (patch)
treea62dca3c50fa09cfe609df088e9eee9bf2ac2853 /apps/action.c
parentf458888a4c4fd8601ff4690388e2fc06fecb9fc2 (diff)
downloadrockbox-bb0e4cc543e4c7bed6dff3a41d092b6867632535.tar.gz
rockbox-bb0e4cc543e4c7bed6dff3a41d092b6867632535.tar.bz2
rockbox-bb0e4cc543e4c7bed6dff3a41d092b6867632535.zip
touchscreen: Fix kinetic scrolling when the statusbar is off.
The scrolling code cannot differentiate between the BUTTON_TOUCHSCREEN post from normal touches and the one posted in the timeout callback. To fix introduce a global special button (BUTTON_REDRAW) that results in the desired redraw. This existed already as a local kludge for android and is now generalized. Change-Id: I6bfa6c66431c48f5042fcd8fce2ea72cd3457f58
Diffstat (limited to 'apps/action.c')
-rw-r--r--apps/action.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/apps/action.c b/apps/action.c
index ee6cbaa4cf..5ebcbf771b 100644
--- a/apps/action.c
+++ b/apps/action.c
@@ -233,6 +233,10 @@ static int get_action_worker(int context, int timeout,
* multimedia button presses don't go through the action system */
if (button == BUTTON_NONE || button & (SYS_EVENT|BUTTON_MULTIMEDIA))
return button;
+ /* the special redraw button should result in a screen refresh */
+ if (button == BUTTON_REDRAW)
+ return ACTION_REDRAW;
+
/* Don't send any buttons through untill we see the release event */
if (wait_for_release)
{