[gtk/x11-dnd-fixes: 6/7] x11: Fix dnd coordinate handling



commit 6a984a79eec87c9ac7278aaa3ab2a5c32684bcdf
Author: Matthias Clasen <mclasen redhat com>
Date:   Sat Feb 22 18:44:55 2020 -0500

    x11: Fix dnd coordinate handling
    
    We were not properly converting the coordinates we
    got to root coordinates. This was showing up as offsets
    between the actual drop target and the area where drops
    can happen, e.g. when dragging over a stack switcher
    to switch pages.

 gdk/x11/gdkdrag-x11.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/gdk/x11/gdkdrag-x11.c b/gdk/x11/gdkdrag-x11.c
index c2bd36682a..cff3a1e4f6 100644
--- a/gdk/x11/gdkdrag-x11.c
+++ b/gdk/x11/gdkdrag-x11.c
@@ -2073,8 +2073,12 @@ _gdk_x11_surface_drag_begin (GdkSurface         *surface,
   precache_target_list (drag);
 
   gdk_device_get_position (device, &px, &py);
-  x_root = round (px) + dx;
-  y_root = round (py) + dy;
+
+  gdk_surface_get_root_coords (surface,
+                               round (px) + dx,
+                               round (py) + dy,
+                               &x_root,
+                               &y_root);
 
   x11_drag->start_x = x_root;
   x11_drag->start_y = y_root;


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