Don't try to set a non-existing page at startup

And print a proper warning should this occur somewhere
else later on.
This commit is contained in:
Christian Dywan 2010-12-25 02:07:45 +01:00
parent 448e119b0b
commit 69c229b7a7
2 changed files with 10 additions and 3 deletions

View file

@ -1312,11 +1312,12 @@ midori_load_session (gpointer data)
midori_browser_add_item (browser, item); midori_browser_add_item (browser, item);
} }
current = katze_item_get_meta_integer (KATZE_ITEM (_session), "current"); 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))) if (!(item = katze_array_get_nth_item (_session, current)))
{
current = 0;
item = katze_array_get_nth_item (_session, 0); item = katze_array_get_nth_item (_session, 0);
}
midori_browser_set_current_page (browser, current);
if (!g_strcmp0 (katze_item_get_uri (item), "")) if (!g_strcmp0 (katze_item_get_uri (item), ""))
midori_browser_activate_action (browser, "Location"); midori_browser_activate_action (browser, "Location");

View file

@ -6876,8 +6876,14 @@ void
midori_browser_set_current_page (MidoriBrowser* browser, midori_browser_set_current_page (MidoriBrowser* browser,
gint n) gint n)
{ {
gint n_pages;
GtkWidget* view; 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); gtk_notebook_set_current_page (GTK_NOTEBOOK (browser->notebook), n);
view = gtk_notebook_get_nth_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))) if (midori_view_is_blank (MIDORI_VIEW (view)))