
During a DND grab, pointer->focus_surface is NULL, since the wl_pointer doesn't have any focused surface (it's in drag mode). In this case, the drag interface has control of the focus, and when dragging into a NULL surface, drag_grab_focus won't get called, properly detaching it from the previous surface. Let the interface->focus implementation do the fizzling out. In the future, we should split out wl_pointer's implementation (pointer->focus_surface) from the Wayland side of the generic pointer wrapper (pointer->current) and use our event routing system to determine or similar whether it should go to wl_pointer or wl_data_device.
Description
Languages
C
98.9%
Meson
0.7%
Python
0.3%