[gtk/matthiasc/for-master: 6/7] cellarea: Fix cell editing



commit 7b135c96e4d269384000fd3bf81f96333e95b3e6
Author: Matthias Clasen <mclasen redhat com>
Date:   Sat Mar 28 14:56:26 2020 -0400

    cellarea: Fix cell editing
    
    We need to translate the event coordinates to
    widget-relative coordinates. This broke when
    we stopped translating event coordinates in-place.

 gtk/gtkcellarea.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
---
diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c
index 157c3bc5ed..a4351d14c3 100644
--- a/gtk/gtkcellarea.c
+++ b/gtk/gtkcellarea.c
@@ -1042,12 +1042,19 @@ gtk_cell_area_real_event (GtkCellArea          *area,
           GtkCellRenderer *renderer = NULL;
           GtkCellRenderer *focus_renderer;
           GdkRectangle     alloc_area;
-          gdouble          event_x, event_y;
+          double event_x, event_y;
+          int x, y;
+          GtkNative *native;
 
           /* We may need some semantics to tell us the offset of the event
            * window we are handling events for (i.e. GtkTreeView has a bin_window) */
           gdk_event_get_position (event, &event_x, &event_y);
 
+          native = gtk_widget_get_native (widget);
+          gtk_widget_translate_coordinates (GTK_WIDGET (native), widget, event_x, event_y, &x, &y);
+          event_x = x;
+          event_y = y;
+
           /* Dont try to search for an event coordinate that is not in the area, that will
            * trigger a runtime warning.
            */


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