Skip to content

GtkTooltip: fix tooltip position when inside a Popover in Wayland

Nelson Ben requested to merge BUG_tooltip_position_CLEAN into gtk-3-24
When pointer is over a Popover in Wayland, gdk_window_get_device_position()
call fails to retrieve x relative to the passed in toplevel widget,
and instead returns x relative to the Popover. So to fix that behaviour
in the GtkTooltip code, we use gtk_widget_translate_coordinates()
to obtain the x offset of the Popover wrt the toplevel widget, and then
add that to the previous incomplete pointer_x so now pointer_x contains
the expected x relative to the 'effective_toplevel' widget.

This fixes issue #1708

Merge request reports