From: Timm Bäder Date: Sun, 3 Feb 2019 06:04:39 +0000 (+0100) Subject: tooltip: Get the pointer position relative to the toplevel widget X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~21^2~801 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=257df1d8b57f6a5e5c38d55b6c8a75d063818f13;p=gtk4.git tooltip: Get the pointer position relative to the toplevel widget Since we position the tooltip window relative to the toplevel widget and not actually relative to the effective_toplevel, we shouldn't get the pointer position relative to the effective_toplevel. We previously used the pointer position (relative to the effective_toplevel) and the anchor rect (relative to the toplevel widget) together to calculate x_distance. This leads to wrong values in cases where get_surface (new_tooltip_widget) != get_surface (toplevel) Fixes #1427 in master --- diff --git a/gtk/gtktooltip.c b/gtk/gtktooltip.c index 2b9e6c0a2e..e2bcf29571 100644 --- a/gtk/gtktooltip.c +++ b/gtk/gtktooltip.c @@ -625,7 +625,7 @@ gtk_tooltip_position (GtkTooltip *tooltip, * If the anchor rectangle isn't to tall, make sure the tooltip isn't too * far away from the pointer position. */ - effective_toplevel = _gtk_widget_get_surface (new_tooltip_widget); + effective_toplevel = _gtk_widget_get_surface (toplevel); gdk_surface_get_device_position (effective_toplevel, device, &pointer_x, &pointer_y, NULL);