I have a GTK3 app that is getting a “drag-failed” event under wayland (Ubuntu 24.04). gtk_drag_dest_set is called with the targets text/uri-list and application/x-scribe-thing-list. The cancel event comes from the wayland side tho (data_source_cancelled is called in gtk+3.0-3.24.41/gdk/wayland/gdkselection-wayland.c). Hence looking into gnome-shell.. I tried enabling the debug logging but didn’t get anything useful when the d’n’d action takes place.
Context, the source GtkWidget and target GtkWidget are both in the same GtkWindow.
What handles the drag and drop stuff on the server side? I see a bunch of possibly relevant code in js/ui/dnd.js from the gnome-shell source. But don’t really know if that’s “the” code I need to look at or… I’m thinking to get some more logging around the calls that end up cancelling the drag. The drag goes fine until the moment the user releases the mouse button, and instead of the “drag-drop” event firing, “drag-failed” fires. My “drag-motion” handler calls gdk_drag_status and returns true.
I did try to build gnome-shell from source, but when I substitute that build into my system and restart gdm it gives me an error and doesn’t work.