On Thu, Oct 1, 2015 at 8:48 PM, Bill Spitzak <spit...@gmail.com> wrote: > > > On Wed, Sep 30, 2015 at 1:45 PM, Carlos Garnacho <carl...@gnome.org> wrote: >> >> >> - wl_data_source.drop_performed: Happens when the operation has been >> physically finished (eg. the button is released), it could be the right >> place to reset the pointer cursor back and undo any other state >> resulting >> from the initial button press. > > > This should not be necessary. When the grab is lost, whatever client is > under the pointer should get an enter event and should then set the cursor > to whatever it wants. The dnd source should certainly not set the cursor in > this case because it may set it to the wrong one, resulting in a blink of > this wrong cursor (ie it will quickly change between the drag cursor, the > cursor the source thought it should be, and the actual cursor for that > screen location).
Remember, toolkits preserve some state. The drag source is in control of the pointer cursor as long as the DnD operation holds, so it should reset its internal current cursor to the regular one for the next time the pointer enters the surface. And that's the bare minimals to be done there, in X11-land toolkits usually implemented DnD and its cursor changes through a grab, at least in the case of GTK+ this is carried on, and brings in a lot more side effects than just an extraneous cursor, so really can't wait until the next wl_pointer.enter. Carlos _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel