From 2528ad8cb8daf56f63f72ff8f413b5b8d3aea094 Mon Sep 17 00:00:00 2001 From: Peter Ward Date: Tue, 21 Jun 2011 23:17:51 +1000 Subject: [PATCH] Support multiple pointers in ClutterDragAction. https://bugzilla.gnome.org/show_bug.cgi?id=653066 --- clutter/clutter-drag-action.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/clutter/clutter-drag-action.c b/clutter/clutter-drag-action.c index 05a6e03..c8302be 100644 --- a/clutter/clutter-drag-action.c +++ b/clutter/clutter-drag-action.c @@ -78,6 +78,7 @@ struct _ClutterDragActionPrivate ClutterActor *drag_handle; ClutterDragAxis drag_axis; + ClutterInputDevice *device; gulong button_press_id; gulong capture_id; @@ -290,6 +291,9 @@ on_captured_event (ClutterActor *stage, if (!priv->in_drag) return FALSE; + if (clutter_event_get_device (event) != priv->device) + return FALSE; + switch (clutter_event_type (event)) { case CLUTTER_MOTION: @@ -344,6 +348,8 @@ on_button_press (ClutterActor *actor, clutter_event_get_coords (event, &priv->press_x, &priv->press_y); priv->press_state = clutter_event_get_state (event); + priv->device = clutter_event_get_device (event); + priv->last_motion_x = priv->press_x; priv->last_motion_y = priv->press_y; -- 2.7.4