aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ephy-window.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/ephy-window.c b/src/ephy-window.c
index d7c65dd45..c0ec381fc 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -486,6 +486,7 @@ static void
ephy_window_destroy (GtkObject *gtkobject)
{
EphyWindow *window = EPHY_WINDOW (gtkobject);
+ GSList *popups;
LOG ("EphyWindow destroy %p", window)
@@ -502,6 +503,10 @@ ephy_window_destroy (GtkObject *gtkobject)
destroy_exit_fullscreen_popup (window);
+ popups = gtk_ui_manager_get_toplevels (window->priv->manager, GTK_UI_MANAGER_POPUP);
+ g_slist_foreach (popups, (GFunc) gtk_menu_shell_deactivate, NULL);
+ g_slist_free (popups);
+
GTK_OBJECT_CLASS (parent_class)->destroy (gtkobject);
}