[gtk/for-master: 1/2] Copy axes when rewriting events
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/for-master: 1/2] Copy axes when rewriting events
- Date: Fri, 17 Apr 2020 21:35:18 +0000 (UTC)
commit d46e1288a4fb7ec928829b55f5c724376ba19382
Author: Emmanuele Bassi <ebassi gnome org>
Date: Fri Apr 17 22:23:32 2020 +0100
Copy axes when rewriting events
gtk/gtkmain.c | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index e1ec1a994d..cbb09c802c 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -1084,6 +1084,8 @@ rewrite_event_for_surface (GdkEvent *event,
GdkEventType type;
double x, y;
double dx, dy;
+ double *axes = NULL;
+ guint n_axes = 0;
type = gdk_event_get_event_type (event);
@@ -1106,6 +1108,16 @@ rewrite_event_for_surface (GdkEvent *event,
break;
}
+ if (gdk_event_get_axes (event, &axes, &n_axes))
+ {
+ double *axes_copy = g_memdup (axes, n_axes * sizeof (double));
+
+ /* The newly created event takes ownership of the axes, so
+ * we need a copy
+ */
+ axes = axes_copy;
+ }
+
switch ((guint) type)
{
case GDK_BUTTON_PRESS:
@@ -1119,7 +1131,7 @@ rewrite_event_for_surface (GdkEvent *event,
gdk_event_get_modifier_state (event),
gdk_button_event_get_button (event),
x, y,
- NULL); // FIXME copy axes
+ axes);
case GDK_MOTION_NOTIFY:
return gdk_motion_event_new (new_surface,
gdk_event_get_device (event),
@@ -1128,7 +1140,7 @@ rewrite_event_for_surface (GdkEvent *event,
gdk_event_get_time (event),
gdk_event_get_modifier_state (event),
x, y,
- NULL); // FIXME copy axes
+ axes);
case GDK_TOUCH_BEGIN:
case GDK_TOUCH_UPDATE:
case GDK_TOUCH_END:
@@ -1141,7 +1153,7 @@ rewrite_event_for_surface (GdkEvent *event,
gdk_event_get_time (event),
gdk_event_get_modifier_state (event),
x, y,
- NULL, // FIXME copy axes
+ axes,
gdk_touch_event_get_emulating_pointer (event));
case GDK_TOUCHPAD_SWIPE:
gdk_touchpad_event_get_deltas (event, &dx, &dy);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]