https://bugzilla.gnome.org/show_bug.cgi?id=768016

--- Comment #7 from Olivier Fourdan <ofour...@redhat.com> ---
(In reply to Jonas Ã…dahl from comment #6)
> I suppose the x/y when running under Wayland is the most recent known
> coordinate. wl_pointer_leave doesn't carry any coordinates, so we won't know
> where it might have gone.

Right, the coords used in the leave notify event are surface_x/surface_y which
are updated on enter and motion events, means that what we get on leave is
basically what we had at the last motion event within the surface.

That's unfortunate, but it should be recoverable, because the callback routine
gtk_menu_stop_navigating_submenu_cb() checks again for the child window where
the pointer resides:

  https://git.gnome.org/browse/gtk+/tree/gtk/gtkmenu.c#n4104

So we still have a chance to recover from our mistake, but it seems
gdk_window_get_device_position() might return the wrong window. Still
digging...

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
wayland-bugs mailing list
wayland-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-bugs

Reply via email to