From 257df1d8b57f6a5e5c38d55b6c8a75d063818f13 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timm=20B=C3=A4der?= Date: Sun, 3 Feb 2019 07:04:39 +0100 Subject: [PATCH] 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 --- gtk/gtktooltip.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); -- 2.30.2