[gtk+/gtk-3-14] Gestures: Properly handle weak references
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/gtk-3-14] Gestures: Properly handle weak references
- Date: Mon, 23 Mar 2015 11:13:42 +0000 (UTC)
commit ef1fa3d4d39356c88600ab04891d9cfa67f161a9
Author: Matthias Clasen <mclasen redhat com>
Date: Wed Mar 11 06:47:04 2015 -0400
Gestures: Properly handle weak references
Every call to g_object_add_weak_pointer must be matched with
a g_object_remove_weak_pointer call, or we will get invalid
writes inside GObject.
https://bugzilla.gnome.org/show_bug.cgi?id=746013
gtk/gtkeventcontroller.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtkeventcontroller.c b/gtk/gtkeventcontroller.c
index 4a3e301..a5cfde1 100644
--- a/gtk/gtkeventcontroller.c
+++ b/gtk/gtkeventcontroller.c
@@ -131,7 +131,11 @@ gtk_event_controller_dispose (GObject *object)
priv = gtk_event_controller_get_instance_private (controller);
if (priv->widget)
- _gtk_widget_remove_controller (priv->widget, controller);
+ {
+ _gtk_widget_remove_controller (priv->widget, controller);
+ g_object_remove_weak_pointer (G_OBJECT (priv->widget), (gpointer *) &priv->widget);
+ priv->widget = NULL;
+ }
G_OBJECT_CLASS (gtk_event_controller_parent_class)->dispose (object);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]