diff options
author | Matthias Clasen <mclasen@redhat.com> | 2014-02-17 22:27:35 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2014-02-19 00:24:30 -0500 |
commit | 479babf339ad25296089ef1aed6d9823d1a86625 (patch) | |
tree | 430f5fc295d755913ebe6410d57cd0b7d3429b6c /gtk/gtktexthandle.c | |
parent | e679812be0be787d742c029d24d8c70bf54b88f7 (diff) | |
download | gtk+-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.c | 4 |
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); |