GNOME Bugzilla – Bug 770937
wayland/data-device: Don't disconnect valid dnd client
Last modified: 2016-09-15 02:34:40 UTC
This fixes a bug where GTK+ would be disconnected due to an incorrectly raised error, when dragging from an Xwayland client onto GTK+ using Wayland. Steps to reproduce: 0. cd gtk+/tests 1. GDK_BACKEND=x11 ./testdnd & 2. GDK_BACKEND=wayland ./testdnd & 3. Drag from the testdnd connecting via X11 onto the testdnd connecting via Wayland 4. Goto 3 After 1 or more iterations of step 3 the testdnd connecting via Wayland would be disconnected.
Created attachment 334888 [details] [review] wayland/data-device: Don't disconnect valid dnd client We cannot check 'has-target' or 'has-seat' when verifying a wl_data_offer.finish request is valid or not, since the source may have effected 'has-target' or whether theh source has a seat or not when the finish request was already on the wire. Instead of checking against the source state, keep track whether the required operations has been done on the offer in question (i.e. whether an action has been sent, or a mime type been accepted). This fixes incorrectly raised error when dragging from gtk+'s testdnd via Xwayland onto gtk+'s testdnd using Wayland.
Comment on attachment 334888 [details] [review] wayland/data-device: Don't disconnect valid dnd client Indeed, Thanks for spotting.
Attachment 334888 [details] pushed as 60bc679 - wayland/data-device: Don't disconnect valid dnd client