[gtk/fix-cell-editing: 1/2] Fix cell editing
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/fix-cell-editing: 1/2] Fix cell editing
- Date: Sun, 7 Jun 2020 12:51:01 +0000 (UTC)
commit d13a3c754015b877acc42cd4d96bc4fed0e0d8e2
Author: Matthias Clasen <mclasen redhat com>
Date: Sun Jun 7 08:43:36 2020 -0400
Fix cell editing
When translating coordinates from an event, we need to
take the surface transform into account. This makes
double-clicking on editable cells in treeviews work
again.
Fixes: #2831
gtk/gtkcellarea.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
---
diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c
index 1a6c29f636..04000f2c91 100644
--- a/gtk/gtkcellarea.c
+++ b/gtk/gtkcellarea.c
@@ -353,6 +353,7 @@
#include "gtkprivate.h"
#include "gtksnapshot.h"
#include "gtkstylecontext.h"
+#include "gtknative.h"
#include <gobject/gvaluecollector.h>
@@ -1043,6 +1044,7 @@ gtk_cell_area_real_event (GtkCellArea *area,
GtkCellRenderer *focus_renderer;
GdkRectangle alloc_area;
double event_x, event_y;
+ double nx, ny;
double x, y;
GtkNative *native;
@@ -1051,7 +1053,8 @@ gtk_cell_area_real_event (GtkCellArea *area,
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);
+ gtk_native_get_surface_transform (native, &nx, &ny);
+ gtk_widget_translate_coordinates (GTK_WIDGET (native), widget, event_x - nx, event_y - ny, &x, &y);
event_x = x;
event_y = y;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]