diff --git a/clutter/clutter-drag-action.c b/clutter/clutter-drag-action.c index 4ca104fed..7e4d7a3bb 100644 --- a/clutter/clutter-drag-action.c +++ b/clutter/clutter-drag-action.c @@ -89,8 +89,9 @@ struct _ClutterDragActionPrivate gfloat transformed_press_x; gfloat transformed_press_y; - guint emit_delayed_press : 1; - guint in_drag : 1; + guint emit_delayed_press : 1; + guint in_drag : 1; + guint motion_events_enabled : 1; }; enum @@ -127,6 +128,9 @@ emit_drag_begin (ClutterDragAction *action, { ClutterDragActionPrivate *priv = action->priv; + priv->motion_events_enabled = clutter_get_motion_events_enabled (); + clutter_set_motion_events_enabled (FALSE); + g_signal_emit (action, drag_signals[DRAG_BEGIN], 0, actor, priv->press_x, priv->press_y, @@ -219,6 +223,8 @@ emit_drag_end (ClutterDragAction *action, priv->capture_id = 0; } + clutter_set_motion_events_enabled (priv->motion_events_enabled); + priv->in_drag = FALSE; }