]> spindle.queued.net Git - midori/commitdiff
Don't try to set a non-existing page at startup
authorChristian Dywan <christian@twotoasts.de>
Sat, 25 Dec 2010 01:07:45 +0000 (02:07 +0100)
committerChristian Dywan <christian@twotoasts.de>
Sat, 25 Dec 2010 01:07:45 +0000 (02:07 +0100)
And print a proper warning should this occur somewhere
else later on.

midori/main.c
midori/midori-browser.c

index db80d8347479ac9704a232e25c2d03025a63b3c8..32420b0c6f008359871a814568e85118174b7008 100644 (file)
@@ -1312,11 +1312,12 @@ midori_load_session (gpointer data)
         midori_browser_add_item (browser, item);
     }
     current = katze_item_get_meta_integer (KATZE_ITEM (_session), "current");
-    if (current < 0)
-        current = 0;
-    midori_browser_set_current_page (browser, current);
     if (!(item = katze_array_get_nth_item (_session, current)))
+    {
+        current = 0;
         item = katze_array_get_nth_item (_session, 0);
+    }
+    midori_browser_set_current_page (browser, current);
     if (!g_strcmp0 (katze_item_get_uri (item), ""))
         midori_browser_activate_action (browser, "Location");
 
index c085e25754d84f110c455959d6f0f940539a58de..7f6b256adbe7801b7dd19808ad1ebac36eff5e12 100644 (file)
@@ -6876,8 +6876,14 @@ void
 midori_browser_set_current_page (MidoriBrowser* browser,
                                  gint           n)
 {
+    gint n_pages;
     GtkWidget* view;
 
+    g_return_if_fail (MIDORI_IS_BROWSER (browser));
+
+    n_pages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (browser->notebook));
+    g_return_if_fail (n < n_pages);
+
     gtk_notebook_set_current_page (GTK_NOTEBOOK (browser->notebook), n);
     view = gtk_notebook_get_nth_page (GTK_NOTEBOOK (browser->notebook), n);
     if (midori_view_is_blank (MIDORI_VIEW (view)))