Emmanuele Bassi 06ea2cf7b1 drag-action: Ensure that we can destroy the drag handle
If the DragAction has a drag handle that gets destroyed inside the
::drag-end signal handler, the destruction sequence will trigger a
callback we have in place to check if the handle is being destroyed
mid-drag, e.g. from a ::drag-motion event.

The callback on the drag handle destruction will check if we are still
in the middle of a drag and emit the ::drag-end signal to allow cleaning
up; the callback erroneously uses the drag handle as the argument for
the emit_drag_end() function — instead of the actor to which the drag
action has been attached. Also, by the time we emit the ::drag-end, we
are not dragging the actor any more, so we shouldn't be emitted the
::drag-end signal twice.

The fix is, thus, made of two parts:

  - reset the in_drag boolean before emitting the ::drag-end signal
    so that destroying the drag handle will not result in a double
    signal emission;

  - use the correct actor when calling emit_drag_end().

https://bugzilla.gnome.org/show_bug.cgi?id=681814
2012-08-20 19:04:56 +01:00
..
2012-06-23 08:23:11 +01:00
2012-02-23 12:01:11 +00:00
2012-04-27 12:30:48 +01:00
2012-04-27 12:28:49 +01:00
2012-04-27 12:30:48 +01:00
2012-08-20 18:28:22 +01:00
2012-07-18 17:14:17 -04:00
2012-06-05 12:28:25 +02:00
2012-06-11 13:47:29 +01:00
2012-04-30 17:17:41 +01:00
2012-04-30 17:17:41 +01:00
2012-08-20 18:28:22 +01:00
2012-07-17 16:52:41 +01:00
2012-04-27 12:30:50 +01:00
2012-04-27 12:30:48 +01:00
2012-04-27 12:30:50 +01:00
2012-02-23 17:21:57 +00:00
2012-04-27 12:30:48 +01:00
2012-04-30 17:17:41 +01:00
2012-08-20 18:28:22 +01:00
2012-08-20 18:28:22 +01:00
2012-08-20 18:28:22 +01:00
2012-08-20 18:28:22 +01:00
2012-08-20 18:28:22 +01:00