GNOME Bugzilla – Bug 762878
wayland: crash when closing multiple windows at once
Last modified: 2016-02-29 18:58:58 UTC
Description mutter crashes in destroy_data_offer() after using primary selection when closing multiple windows. Steps to reproduce: 1. Open gnome-terminal 2. From gnome-terminal, run gedit 3. copy/paste some stuff between gnome-terminal and gedit using primary selection 4. Close gnome-terminal using the [X] button so that gedit goes along with it Actual result: mutter/gnome-shell dies with the following backtrace:
+ Trace 236017
Created attachment 322669 [details] [review] wayland: Use separate destructor for the gtk_primary_selection_offer Things don't mix well if we use the same destructor than wl_data_offer, Use a separate destructor with no DnD paths whatsoever.
Created attachment 322670 [details] [review] wayland: Ensure harder we're dealing with DnD offers/sources In destroy_data_offer() there is code to ensure compatibility when dragging from a v3 wl_data_device to a v2 one, it's however not checking correctly that this is the DnD drag source. The other path should be used otherwise.
These patches fix the issue, thanks!
Attachment 322669 [details] pushed as 66be038 - wayland: Use separate destructor for the gtk_primary_selection_offer Attachment 322670 [details] pushed as 43bd057 - wayland: Ensure harder we're dealing with DnD offers/sources