From 102a85cc6ee11186ccd5e1bd5c50afb4e77d9334 Mon Sep 17 00:00:00 2001 From: Jiyoun Park Date: Wed, 1 Aug 2012 05:43:50 +0000 Subject: [PATCH] Fix evas pointer count problem, if press/release events occurs not pair, it screws up the evas event process. We are not deal with release event if there is no pressed pointer SVN revision: 74705 --- legacy/evas/ChangeLog | 6 ++++++ legacy/evas/src/lib/canvas/evas_events.c | 2 ++ 2 files changed, 8 insertions(+) diff --git a/legacy/evas/ChangeLog b/legacy/evas/ChangeLog index f1dcfb3dd9..823c04513a 100644 --- a/legacy/evas/ChangeLog +++ b/legacy/evas/ChangeLog @@ -931,3 +931,9 @@ 2012-08-01 Jiyoun Park(jypark) * Fix gif load bug. we initialize first frame buffer of gif loader + +2012-08-01 Jiyoun Park(jypark) + + * Fix evas pointer count problem, if press/release events occurs not pair, + it screws up the evas event process. We are not deal with release event if + there is no pressed pointer. diff --git a/legacy/evas/src/lib/canvas/evas_events.c b/legacy/evas/src/lib/canvas/evas_events.c index 08ecaa55cf..20a0a32403 100644 --- a/legacy/evas/src/lib/canvas/evas_events.c +++ b/legacy/evas/src/lib/canvas/evas_events.c @@ -454,6 +454,7 @@ evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, unsigned int t MAGIC_CHECK_END(); if ((b < 1) || (b > 32)) return; + if (e->pointer.downs <= 0) return; e->pointer.button &= ~(1 << (b - 1)); e->pointer.downs--; @@ -1247,6 +1248,7 @@ evas_event_feed_multi_up(Evas *e, return; MAGIC_CHECK_END(); + if (e->pointer.downs <= 0) return; e->pointer.downs--; if (e->events_frozen > 0) return; e->last_timestamp = timestamp;