diff options
author | Xan Lopez <xan@igalia.com> | 2012-01-17 19:51:07 +0800 |
---|---|---|
committer | Xan Lopez <xan@igalia.com> | 2012-01-17 19:51:07 +0800 |
commit | af6852c68bfad98d9175eb10ac3efbcc9112aac8 (patch) | |
tree | 07850d95b590b02511bc7571196d0b7999333019 /src/ephy-page-menu-action.c | |
parent | 6cb9603301f180fb276331d2ec176ad241e04d77 (diff) | |
download | gsoc2013-epiphany-af6852c68bfad98d9175eb10ac3efbcc9112aac8.tar.gz gsoc2013-epiphany-af6852c68bfad98d9175eb10ac3efbcc9112aac8.tar.zst gsoc2013-epiphany-af6852c68bfad98d9175eb10ac3efbcc9112aac8.zip |
ephy-page-menu-action: disconnect the visible handler on dispose
Diffstat (limited to 'src/ephy-page-menu-action.c')
-rw-r--r-- | src/ephy-page-menu-action.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/ephy-page-menu-action.c b/src/ephy-page-menu-action.c index 66ecabd64..b42d13c21 100644 --- a/src/ephy-page-menu-action.c +++ b/src/ephy-page-menu-action.c @@ -146,6 +146,16 @@ ephy_page_menu_action_dispose (GObject *object) { EphyPageMenuActionPrivate *priv = EPHY_PAGE_MENU_ACTION (object)->priv; + if (priv->menu) { + GtkWidget *button = NULL; + GSList *l = gtk_action_get_proxies (GTK_ACTION (object)); + + if (GTK_IS_BUTTON (l->data)) + button = GTK_WIDGET (l->data); + + g_signal_handlers_disconnect_by_func (priv->menu, G_CALLBACK (visible_cb), button); + } + g_clear_object (&priv->menu); G_OBJECT_CLASS (ephy_page_menu_action_parent_class)->dispose (object); |