After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 732235 - clutter gesture actions may mistakenly handle enter/leave events
clutter gesture actions may mistakenly handle enter/leave events
Status: RESOLVED FIXED
Product: clutter
Classification: Platform
Component: ClutterAction
unspecified
Other Mac OS
: Normal normal
: ---
Assigned To: clutter-maint
clutter-maint
Depends on:
Blocks:
 
 
Reported: 2014-06-25 15:42 UTC by Carlos Garnacho
Modified: 2014-06-26 00:34 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gesture-action: Ignore any other event than press/update/release ones (1.21 KB, patch)
2014-06-25 15:43 UTC, Carlos Garnacho
committed Details | Review

Description Carlos Garnacho 2014-06-25 15:42:35 UTC
The captured event handler set by ClutterGestureAction doesn't filter on event types too much, possibly adding point information for the NULL sequence when enter/leave events are received, even if the gesture is exclusively handling with touch events (non-NULL sequences), this leads to some wrong accounting on the number of touches happening.

I'm attaching a patch to fix that.
Comment 1 Carlos Garnacho 2014-06-25 15:43:10 UTC
Created attachment 279232 [details] [review]
gesture-action: Ignore any other event than press/update/release ones

CLUTTER_ENTER/LEAVE might be processed too, leading to accounting of the
NULL sequence (ie. pointer) in the gesture, and fooling the gesture with
a static extra point that wouldn't go away.
Comment 2 Emmanuele Bassi (:ebassi) 2014-06-25 15:49:24 UTC
Review of attachment 279232 [details] [review]:

looks good.

::: clutter/clutter-gesture-action.c
@@ +364,3 @@
   GesturePoint *point;
 
+  if (event->type != CLUTTER_TOUCH_CANCEL &&

I really prefer using the accessor function clutter_event_type(), instead of direct access to the event structures.

I can fix this post-merge, tho.
Comment 3 Emmanuele Bassi (:ebassi) 2014-06-26 00:34:31 UTC
Attachment 279232 [details] pushed as 830618e - gesture-action: Ignore any other event than press/update/release ones