summaryrefslogtreecommitdiff
path: root/libyelp/yelp-view.c
diff options
context:
space:
mode:
authorShaun McCance <shaunm@gnome.org>2014-02-25 10:25:47 -0500
committerShaun McCance <shaunm@gnome.org>2014-02-25 10:25:47 -0500
commitb1056e5a632ad2fe28bf30c46ad07f54278f7532 (patch)
treeef767ef385d76cb3a3e9a8ef062a36086e905040 /libyelp/yelp-view.c
parent9c3f2e251e4b91d0f191cfe84edff99d56a5ad34 (diff)
downloadyelp-b1056e5a632ad2fe28bf30c46ad07f54278f7532.tar.gz
Don't use g_source_remove for signal handlers
This fixes reliable crashes when changing bookmarks or the read later list if any single window has been closed.
Diffstat (limited to 'libyelp/yelp-view.c')
-rw-r--r--libyelp/yelp-view.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libyelp/yelp-view.c b/libyelp/yelp-view.c
index 1529137b..f27dd2e8 100644
--- a/libyelp/yelp-view.c
+++ b/libyelp/yelp-view.c
@@ -306,12 +306,12 @@ yelp_view_dispose (GObject *object)
view_clear_load (YELP_VIEW (object));
if (priv->vadjuster > 0) {
- g_source_remove (priv->vadjuster);
+ g_signal_handler_disconnect (priv->vadjustment, priv->vadjuster);
priv->vadjuster = 0;
}
if (priv->hadjuster > 0) {
- g_source_remove (priv->hadjuster);
+ g_signal_handler_disconnect (priv->hadjustment, priv->hadjuster);
priv->hadjuster = 0;
}
@@ -883,7 +883,7 @@ view_set_hadjustment (YelpView *view,
YelpViewPrivate *priv = GET_PRIV (view);
priv->hadjustment = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE (view));
if (priv->hadjuster > 0)
- g_source_remove (priv->hadjuster);
+ g_signal_handler_disconnect (priv->hadjustment, priv->hadjuster);
priv->hadjuster = 0;
if (priv->hadjustment)
priv->hadjuster = g_signal_connect (priv->hadjustment, "value-changed",
@@ -898,7 +898,7 @@ view_set_vadjustment (YelpView *view,
YelpViewPrivate *priv = GET_PRIV (view);
priv->vadjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (view));
if (priv->vadjuster > 0)
- g_source_remove (priv->vadjuster);
+ g_signal_handler_disconnect (priv->vadjustment, priv->vadjuster);
priv->vadjuster = 0;
if (priv->vadjustment)
priv->vadjuster = g_signal_connect (priv->vadjustment, "value-changed",