summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMagnus Holmgren <magnushol@gmail.com>2010-11-14 13:13:06 +0000
committerMagnus Holmgren <magnushol@gmail.com>2010-11-14 13:13:06 +0000
commit4480e3a82cc12bddde528331f0838f4f232a148c (patch)
tree6e2b7d65ee2be4655f534715fb278bcf42c87bce
parent91beb7a46d45005f284b7662563664ef5c193e2f (diff)
downloadrockbox-4480e3a82cc12bddde528331f0838f4f232a148c.tar.gz
rockbox-4480e3a82cc12bddde528331f0838f4f232a148c.zip
Hopefully fix FS#11696: scrollwheel doesn't respond in some cases.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28584 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/action.c7
-rw-r--r--firmware/drivers/button.c6
2 files changed, 9 insertions, 4 deletions
diff --git a/apps/action.c b/apps/action.c
index d61930a08c..003f11faa8 100644
--- a/apps/action.c
+++ b/apps/action.c
@@ -205,7 +205,12 @@ static int get_action_worker(int context, int timeout,
205 pcmbuf_beep(4000, KEYCLICK_DURATION, 2500*global_settings.keyclick); 205 pcmbuf_beep(4000, KEYCLICK_DURATION, 2500*global_settings.keyclick);
206#endif 206#endif
207 207
208 if ((context != last_context) && ((last_button & BUTTON_REL) == 0)) 208 if ((context != last_context) && ((last_button & BUTTON_REL) == 0)
209#ifdef HAVE_SCROLLWHEEL
210 /* Scrollwheel doesn't generate release events */
211 && !(last_button & (BUTTON_SCROLL_BACK | BUTTON_SCROLL_FWD))
212#endif
213 )
209 { 214 {
210 if (button & BUTTON_REL) 215 if (button & BUTTON_REL)
211 { 216 {
diff --git a/firmware/drivers/button.c b/firmware/drivers/button.c
index 12a1ad0cf8..403b521db0 100644
--- a/firmware/drivers/button.c
+++ b/firmware/drivers/button.c
@@ -115,13 +115,13 @@ static bool button_try_post(int button, int data)
115 /* one can swipe over the scren very quickly, 115 /* one can swipe over the scren very quickly,
116 * for this to work we want to forget about old presses and 116 * for this to work we want to forget about old presses and
117 * only respect the very latest ones */ 117 * only respect the very latest ones */
118 const int force_post = true; 118 const bool force_post = true;
119#else 119#else
120 /* Only post events if the queue is empty, 120 /* Only post events if the queue is empty,
121 * to avoid afterscroll effects. 121 * to avoid afterscroll effects.
122 * i.e. don't post new buttons if previous ones haven't been 122 * i.e. don't post new buttons if previous ones haven't been
123 * processed yet */ 123 * processed yet - but always post releases */
124 const int force_post = false; 124 const bool force_post = button & BUTTON_REL;
125#endif 125#endif
126 126
127 bool ret = queue_empty(&button_queue); 127 bool ret = queue_empty(&button_queue);