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



commit c91730cfb4b6b8abbc3c88974fa70461d7dcdeb2
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 8deb9ebd83..a792eb8e33 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]