From 7b135c96e4d269384000fd3bf81f96333e95b3e6 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 28 Mar 2020 14:56:26 -0400 Subject: [PATCH] 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. */