GNOME Bugzilla – Bug 765565
Wayland: Inspector GtkLabel drag'n'drop crashes client
Last modified: 2016-04-26 15:09:19 UTC
To reproduce: Open the inspector, select text in a selectable GtkLabel (like in the General tab), then try to drag that text. The reason seems to be that a wl_buffer from one wl_display is attached to a wl_surface of another wl_display. This causes the compositor to disconnect the client, because the attached object may either non-existent on the other wl_display, or of the wrong type.
Created attachment 326726 [details] [review] gdk/dnd: Don't use default display when getting cursor Always associate a drag context with a GdkDisplay and use that when getting a cursor for a given action. If we don't do this, dragging on a window that doesn't use the default display will make us use cursors from the wrong display.
Note that I have not build tested the win32 and quartz patches, as I have no such systems to test build on.
Comment on attachment 326726 [details] [review] gdk/dnd: Don't use default display when getting cursor At least the common/x11/wayland bits look alright to me. The changes in win32/quartz seem indeed correct and harmless, but like you I can't tell for sure. I'll refrain the a-c-n for now, but I'd be surprised if this broke anything.
Review of attachment 326726 [details] [review]: Looks right to me
Attachment 326726 [details] pushed as 1a4f000 - gdk/dnd: Don't use default display when getting cursor