[gtk/wip/carlosg/tablet-invalid-reads-master] gdk: Avoid poking possibly freed memory
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/carlosg/tablet-invalid-reads-master] gdk: Avoid poking possibly freed memory
- Date: Wed, 9 Oct 2019 08:36:27 +0000 (UTC)
commit 075c77325b051e9257d19ab31886755507d599dc
Author: Carlos Garnacho <carlosg gnome org>
Date: Tue Oct 8 17:56:10 2019 +0200
gdk: Avoid poking possibly freed memory
The event may end up freed after delivery, ensure to keep a ref in order
to emit the matching emulated crossed event matching a proximity event.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/2157
gdk/wayland/gdkdevice-wayland.c | 4 ++++
1 file changed, 4 insertions(+)
---
diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c
index 7a7031d882..1b66f37b3a 100644
--- a/gdk/wayland/gdkdevice-wayland.c
+++ b/gdk/wayland/gdkdevice-wayland.c
@@ -3327,6 +3327,8 @@ gdk_wayland_tablet_flush_frame_event (GdkWaylandTabletData *tablet,
if (!event)
return;
+ g_object_ref (event);
+
switch ((guint) event->any.type)
{
case GDK_MOTION_NOTIFY:
@@ -3367,6 +3369,8 @@ gdk_wayland_tablet_flush_frame_event (GdkWaylandTabletData *tablet,
emulate_crossing (event->any.surface, NULL,
tablet->master, GDK_ENTER_NOTIFY,
GDK_CROSSING_NORMAL, time);
+
+ g_object_unref (event);
}
static GdkEvent *
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]