[gtk] tooltip: Get the pointer position relative to the toplevel widget



commit 257df1d8b57f6a5e5c38d55b6c8a75d063818f13
Author: Timm Bäder <mail baedert org>
Date:   Sun Feb 3 07:04:39 2019 +0100

    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);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]