From 87ab7a07a660b82f3f9961a4030fb2b7b6212468 Mon Sep 17 00:00:00 2001 From: Björn Stenberg Date: Thu, 14 Oct 2004 07:48:49 +0000 Subject: Proper fix for TREE_RUN trailing release event git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5273 a1c6a512-1295-4272-9138-f99709370657 --- apps/tree.c | 9 +++++---- apps/tree.h | 3 +++ 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'apps') diff --git a/apps/tree.c b/apps/tree.c index 03c7d2ca37..1025306848 100644 --- a/apps/tree.c +++ b/apps/tree.c @@ -868,10 +868,6 @@ static bool dirbrowse(const char *root, const int *dirfilter) button = button_get_w_tmo(HZ/5); - /* ignore leftover release event */ - if (!lastbutton && (button & BUTTON_REL)) - continue; - #ifndef SIMULATOR if (boot_changed) { bool stop = false; @@ -981,6 +977,11 @@ static bool dirbrowse(const char *root, const int *dirfilter) case TREE_RC_ENTER: #endif case TREE_RUN: +#ifdef TREE_RUN_PRE + if ((button == TREE_RUN) && + (lastbutton != TREE_RUN_PRE)) + break; +#endif if ( !numentries ) break; if (currdir[1]) diff --git a/apps/tree.h b/apps/tree.h index 10c93a40f7..297d611c70 100644 --- a/apps/tree.h +++ b/apps/tree.h @@ -27,6 +27,7 @@ #define TREE_EXIT BUTTON_LEFT #define TREE_ENTER BUTTON_RIGHT #define TREE_RUN (BUTTON_PLAY | BUTTON_REL) +#define TREE_RUN_PRE BUTTON_PLAY #define TREE_MENU BUTTON_F1 #define TREE_OFF BUTTON_OFF #define TREE_WPS (BUTTON_ON | BUTTON_REL) @@ -47,6 +48,7 @@ #define TREE_PREV BUTTON_LEFT #define TREE_EXIT BUTTON_STOP #define TREE_RUN (BUTTON_PLAY | BUTTON_REL) +#define TREE_RUN_PRE BUTTON_PLAY #define TREE_MENU BUTTON_MENU #define TREE_WPS (BUTTON_ON | BUTTON_REL) #define TREE_WPS_PRE BUTTON_ON @@ -64,6 +66,7 @@ #define TREE_PREV BUTTON_UP #define TREE_EXIT BUTTON_LEFT #define TREE_RUN (BUTTON_RIGHT | BUTTON_REL) +#define TREE_RUN_PRE BUTTON_RIGHT #define TREE_MENU (BUTTON_MENU | BUTTON_REPEAT) #define TREE_WPS (BUTTON_MENU | BUTTON_REL) #define TREE_WPS_PRE BUTTON_MENU -- cgit v1.2.3