diff options
author | Maxim Zakharov <zakhma@muli.com.au> | 2021-10-27 11:37:36 +1100 |
---|---|---|
committer | Maxim Zakharov <zakhma@muli.com.au> | 2021-10-28 10:23:32 +1100 |
commit | af2d0f188c15a120935c35ecbea5d032aeaa2971 (patch) | |
tree | 12b320dac9329c0be1207b2b8dcc17a0baa4a0f2 /gtk/gtkeventcontroller.c | |
parent | 4ea84d3144a1d2d3b609486c3eda21a1c3be34c2 (diff) | |
download | gtk+-af2d0f188c15a120935c35ecbea5d032aeaa2971.tar.gz |
gtk: Hold reference on controller until events are fully handled
Fixes premature controller unreferencing in
gtk_event_controller_handle_event() if the controller itself is being
removed while handling the event.
Diffstat (limited to 'gtk/gtkeventcontroller.c')
-rw-r--r-- | gtk/gtkeventcontroller.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gtk/gtkeventcontroller.c b/gtk/gtkeventcontroller.c index 6892562901..2d0de55383 100644 --- a/gtk/gtkeventcontroller.c +++ b/gtk/gtkeventcontroller.c @@ -367,10 +367,10 @@ gtk_event_controller_handle_event (GtkEventController *controller, g_object_ref (controller); retval = controller_class->handle_event (controller, event, x, y); - g_object_unref (controller); g_clear_object (&priv->target); g_clear_pointer (&priv->event, gdk_event_unref); + g_object_unref (controller); return retval; } |