GNOME Bugzilla – Bug 657681
Crash when destroying an actor while dragging it
Last modified: 2011-08-30 12:34:16 UTC
If you destroy an actor while it's being dragged, your app will crash. See bug #656886
Created attachment 195171 [details] [review] actions/drag: Be more reliable when destroying the drag handle Whenever the drag handle gets destroyed mid-drag we need to cancel any current drag operation and reset the state of the DragAction.
With the attached patch on top of git master, on every drag end (when not destroying the actor during the drag) I get (empathy-call:2026): Clutter-CRITICAL **: clutter_event_get_device: assertion `event != NULL' failed Empathy doesn't crash anymore when destroying the actor during the drag though, but after the drag I get a lot of warnings like: (empathy-call:2026): Clutter-WARNING **: Attempting to map a child that does not meet the necessary invariants: the actor 'EmpathyRoundedTexture' has no parent I guess the last warning may be my fault and not a regression though.
yes, the second warning is not something coming from DragAction - but the first warning is correct. updating the patch now.
Created attachment 195177 [details] [review] actions/drag: Be more reliable when destroying the drag handle - v2.0 now we check for the input device of the last motion event as well.
This patch works nicely!
attachment 195177 [details] [review] pushed to master, thanks for testing.