summaryrefslogtreecommitdiff
path: root/gtk/gtktexthandle.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2014-02-17 22:27:35 -0500
committerMatthias Clasen <mclasen@redhat.com>2014-02-19 00:24:30 -0500
commit479babf339ad25296089ef1aed6d9823d1a86625 (patch)
tree430f5fc295d755913ebe6410d57cd0b7d3429b6c /gtk/gtktexthandle.c
parente679812be0be787d742c029d24d8c70bf54b88f7 (diff)
downloadgtk+-479babf339ad25296089ef1aed6d9823d1a86625.tar.gz
GtkTextHandle: Deal with parent_scrollable going away
Use a weak reference to notice when parent_scrollable is going away. https://bugzilla.gnome.org/show_bug.cgi?id=724392
Diffstat (limited to 'gtk/gtktexthandle.c')
-rw-r--r--gtk/gtktexthandle.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gtk/gtktexthandle.c b/gtk/gtktexthandle.c
index 0f05d5aa82..06347499dc 100644
--- a/gtk/gtktexthandle.c
+++ b/gtk/gtktexthandle.c
@@ -371,12 +371,16 @@ _gtk_text_handle_set_scrollable (GtkTextHandle *handle,
g_object_unref (priv->hadj);
priv->hadj = NULL;
}
+
+ g_object_remove_weak_pointer (G_OBJECT (priv->parent_scrollable), (gpointer *) &priv->parent_scrollable);
}
priv->parent_scrollable = scrollable;
if (scrollable)
{
+ g_object_add_weak_pointer (G_OBJECT (priv->parent_scrollable), (gpointer *) &priv->parent_scrollable);
+
priv->vadj = gtk_scrollable_get_vadjustment (scrollable);
priv->hadj = gtk_scrollable_get_hadjustment (scrollable);