diff options
author | Lionel Landwerlin <llandwerlin@gmail.com> | 2013-10-09 18:39:59 +0100 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2013-11-20 23:12:34 +0000 |
commit | 2f99c6debe8847f305d52751fd9bb521700cd461 (patch) | |
tree | b3e239d84d789d20534121c206d8d5b5b78a8d86 | |
parent | 3b0bd7e47cb3370cc71a6a39e4fa19e8b25e9be9 (diff) | |
download | clutter-2f99c6debe8847f305d52751fd9bb521700cd461.tar.gz |
drag-action: don't mix touch and pointer events
https://bugzilla.gnome.org/show_bug.cgi?id=709762
(cherry picked from commit ccd2d4c0a7a789e3aea410f9fafd494949fb0c87)
Signed-off-by: Emmanuele Bassi <ebassi@gnome.org>
-rw-r--r-- | clutter/clutter-drag-action.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/clutter/clutter-drag-action.c b/clutter/clutter-drag-action.c index 669240c1b..0abe8eddb 100644 --- a/clutter/clutter-drag-action.c +++ b/clutter/clutter-drag-action.c @@ -364,14 +364,14 @@ on_captured_event (ClutterActor *stage, if (!priv->in_drag) return CLUTTER_EVENT_PROPAGATE; - if (clutter_event_get_device (event) != priv->device) + if (clutter_event_get_device (event) != priv->device || + clutter_event_get_event_sequence (event) != priv->sequence) return CLUTTER_EVENT_PROPAGATE; switch (clutter_event_type (event)) { case CLUTTER_TOUCH_UPDATE: - if (clutter_event_get_event_sequence (event) == priv->sequence) - emit_drag_motion (action, actor, event); + emit_drag_motion (action, actor, event); break; case CLUTTER_MOTION: @@ -391,8 +391,7 @@ on_captured_event (ClutterActor *stage, case CLUTTER_TOUCH_END: case CLUTTER_TOUCH_CANCEL: - if (clutter_event_get_event_sequence (event) == priv->sequence) - emit_drag_end (action, actor, event); + emit_drag_end (action, actor, event); break; case CLUTTER_BUTTON_RELEASE: @@ -427,6 +426,8 @@ on_drag_begin (ClutterActor *actor, switch (clutter_event_type (event)) { case CLUTTER_BUTTON_PRESS: + if (priv->sequence != NULL) + return CLUTTER_EVENT_PROPAGATE; if (clutter_event_get_button (event) != CLUTTER_BUTTON_PRIMARY) return CLUTTER_EVENT_PROPAGATE; break; |