]> spindle.queued.net Git - midori/commitdiff
Don't switch panels while destroying
authorAndré Stösel <andre@stoesel.de>
Mon, 5 Sep 2011 16:02:42 +0000 (18:02 +0200)
committerChristian Dywan <christian@twotoasts.de>
Wed, 14 Sep 2011 19:24:10 +0000 (21:24 +0200)
Fixes: https://bugs.launchpad.net/midori/+bug/819688
midori/midori-panel.c

index a7abc81adc2964254d9216dec18a3a5981dc97ab..fb3c66f1ad4734222b245716359473658066069c 100644 (file)
@@ -13,6 +13,8 @@
 
 #include "midori-view.h"
 
+#include "midori-browser.h"
+
 #include "marshal.h"
 #include "sokoke.h"
 
@@ -588,6 +590,7 @@ static void
 midori_panel_viewable_destroy_cb (GtkWidget*   viewable,
                                   MidoriPanel* panel)
 {
+    MidoriBrowser* browser = midori_browser_get_for_widget (GTK_WIDGET (panel));
     gint n_pages;
     gchar* action_name;
     GtkAction* action;
@@ -601,7 +604,7 @@ midori_panel_viewable_destroy_cb (GtkWidget*   viewable,
         viewable, midori_panel_viewable_destroy_cb, panel);
 
     n_pages = midori_panel_get_n_pages (panel);
-    if (n_pages > 0)
+    if (n_pages > 0 && browser && !g_object_get_data (G_OBJECT (browser), "midori-browser-destroyed"))
         midori_panel_set_current_page (panel, (n_pages-1 > i) ? i : n_pages - 1);
 
     action_name = g_strconcat ("PanelPage",