diff options
author | Xan Lopez <xan@gnome.org> | 2011-02-12 07:39:34 +0800 |
---|---|---|
committer | Xan Lopez <xan@gnome.org> | 2011-02-12 07:39:34 +0800 |
commit | 763dbbffec69ec7dec320b841636029fa5cde85b (patch) | |
tree | c33aadb8a12bdae585c827751b0fb99b7d0ea28d | |
parent | e65e2873a6d8407e9a8801e8667085ec10fa261f (diff) | |
download | gsoc2013-epiphany-763dbbffec69ec7dec320b841636029fa5cde85b.tar.gz gsoc2013-epiphany-763dbbffec69ec7dec320b841636029fa5cde85b.tar.zst gsoc2013-epiphany-763dbbffec69ec7dec320b841636029fa5cde85b.zip |
ephy-web-view: do not update status after we are dead
We now reach to the EphyEmbed, so this is dangerous.
-rw-r--r-- | embed/ephy-web-view.c | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/embed/ephy-web-view.c b/embed/ephy-web-view.c index bfa45edfa..5c5113545 100644 --- a/embed/ephy-web-view.c +++ b/embed/ephy-web-view.c @@ -549,10 +549,29 @@ ephy_web_view_button_press_event (GtkWidget *widget, GdkEventButton *event) } static void +status_message_notify_cb (EphyWebView *view, GParamSpec *pspec, gpointer data) +{ + const char *message; + EphyWebViewPrivate *priv; + + message = ephy_web_view_get_status_message (view); + + priv = view->priv; + + ephy_web_view_statusbar_pop (view, priv->tab_message_id); + + if (message) + ephy_web_view_statusbar_push (view, priv->tab_message_id, message); + +} + +static void ephy_web_view_dispose (GObject *object) { ephy_web_view_file_monitor_cancel (EPHY_WEB_VIEW (object)); + g_signal_handlers_disconnect_by_func (object, G_CALLBACK (status_message_notify_cb), NULL); + G_OBJECT_CLASS (ephy_web_view_parent_class)->dispose (object); } @@ -2187,23 +2206,6 @@ vadjustment_changed_cb (EphyWebView *view, GParamSpec *pspec, gpointer data) } static void -status_message_notify_cb (EphyWebView *view, GParamSpec *pspec, gpointer data) -{ - const char *message; - EphyWebViewPrivate *priv; - - message = ephy_web_view_get_status_message (view); - - priv = view->priv; - - ephy_web_view_statusbar_pop (view, priv->tab_message_id); - - if (message) - ephy_web_view_statusbar_push (view, priv->tab_message_id, message); - -} - -static void ephy_web_view_init (EphyWebView *web_view) { EphyWebViewPrivate *priv; |