On 10/24/22 12:29, Carlos Garnacho wrote:
- It's difficult to do D&D to another popup as the source one has to me
kept opened. That means we need to show popups which are not intended to
be shown together:
   - if the popups are adjacent, xdg-positoner can be used.
   - if the popups are not adjacent (an example on the clip),
wl_subsurface popup has to be used with its consequences (buggy
compositor/gtk3 implementation).

So may be the D&D source persistence condition relaxed?

To allow a fix for this case, I think it would be more backwards
compatible and coherent to relax wl_data_device.start_drag conditions,
so that it's only required that the serial/grab is on a surface of the
same client, and a different source surface may be used. Firefox could
then pass the toplevel surface as the drag source. This way lifetime
correctness is guaranteed, and "snap back" animations on failed DnD
have a surface to return to.

Yes, relaxing wl_data_device.start_drag conditions would be enough here.

Thanks.

--
Martin Stransky
Software Engineer / Red Hat, Inc

Reply via email to