[gtk+] eventcontroller: Ensure controllers stay alive during event emission
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] eventcontroller: Ensure controllers stay alive during event emission
- Date: Wed, 28 May 2014 17:41:36 +0000 (UTC)
commit 618e3d31570fca577cf374d7b318bc7ca44cadb1
Author: Carlos Garnacho <carlosg gnome org>
Date: Wed May 28 19:39:07 2014 +0200
eventcontroller: Ensure controllers stay alive during event emission
Those might trigger the destruction of some widget that would dispose the
event controller while the event is still being handled, so keep an extra
ref on the controller during event processing.
gtk/gtkeventcontroller.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtkeventcontroller.c b/gtk/gtkeventcontroller.c
index b674380..c0b828f 100644
--- a/gtk/gtkeventcontroller.c
+++ b/gtk/gtkeventcontroller.c
@@ -205,7 +205,11 @@ gtk_event_controller_handle_event (GtkEventController *controller,
controller_class = GTK_EVENT_CONTROLLER_GET_CLASS (controller);
if (controller_class->handle_event)
- retval = controller_class->handle_event (controller, event);
+ {
+ g_object_ref (controller);
+ retval = controller_class->handle_event (controller, event);
+ g_object_unref (controller);
+ }
return retval;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]