X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=shell%2Fev-window.c;h=455c6a59a1fbe97f869fc132c4a5bf109a748d11;hb=refs%2Ftags%2FEVINCE_2_25_92;hp=618be31d25125a4e4954246b859a15917f6e2b4b;hpb=0e064f5e9270d43313f93220eab24ec3c2874e47;p=evince.git diff --git a/shell/ev-window.c b/shell/ev-window.c index 618be31d..455c6a59 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -1248,6 +1248,18 @@ ev_window_set_document (EvWindow *ev_window, EvDocument *document) g_signal_connect (ev_window->priv->page_cache, "history-changed", G_CALLBACK (history_changed_cb), ev_window); + if (ev_window->priv->in_reload && ev_window->priv->dest) { + gint page; + + /* Restart the current page */ + page = CLAMP (ev_link_dest_get_page (ev_window->priv->dest), + 0, + ev_page_cache_get_n_pages (ev_window->priv->page_cache) - 1); + ev_page_cache_set_current_page (ev_window->priv->page_cache, page); + g_object_unref (ev_window->priv->dest); + ev_window->priv->dest = NULL; + } + if (ev_page_cache_get_n_pages (ev_window->priv->page_cache) > 0) { ev_view_set_document (view, document); } else { @@ -1439,8 +1451,7 @@ ev_window_load_job_cb (EvJob *job, return; } - if (job->error->domain == EV_DOCUMENT_ERROR && - job->error->code == EV_DOCUMENT_ERROR_ENCRYPTED) { + if (g_error_matches (job->error, EV_DOCUMENT_ERROR, EV_DOCUMENT_ERROR_ENCRYPTED)) { gchar *password; setup_view_from_metadata (ev_window); @@ -1487,7 +1498,6 @@ ev_window_reload_job_cb (EvJob *job, EvWindow *ev_window) { GtkWidget *widget; - gint page; if (ev_job_is_failed (job)) { ev_window_clear_reload_job (ev_window); @@ -1499,14 +1509,6 @@ ev_window_reload_job_cb (EvJob *job, } ev_window_set_document (ev_window, job->document); - - /* Restart the current page */ - page = CLAMP (ev_link_dest_get_page (ev_window->priv->dest), - 0, - ev_page_cache_get_n_pages (ev_window->priv->page_cache) - 1); - ev_page_cache_set_current_page (ev_window->priv->page_cache, page); - g_object_unref (ev_window->priv->dest); - ev_window->priv->dest = NULL; /* Restart the search after reloading */ widget = gtk_window_get_focus (GTK_WINDOW (ev_window));