]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-view.c
Do not connect selection changed signal more than once. Fixes bug #349433.
[evince.git] / shell / ev-view.c
index 40223a4dc2cf1cd04836385504d572314917b94c..cd20a8c9154e43a83f06511733a35eb342f89a4a 100644 (file)
@@ -2856,7 +2856,7 @@ draw_loading_text (EvView       *view,
                ev_document_fc_mutex_unlock ();
        }
 
-       width = cairo_image_surface_get_width (view->loading_text) / 2;
+       width = (page_area->width - cairo_image_surface_get_width (view->loading_text)) / 2;
        height = (page_area->height - cairo_image_surface_get_height (view->loading_text)) / 2;
        
        cr = gdk_cairo_create (GTK_WIDGET (view)->window);
@@ -4884,6 +4884,13 @@ ev_view_next_page (EvView *view)
        if (!view->page_cache)
                return FALSE;
 
+       if (view->presentation &&
+           (view->presentation_state == EV_PRESENTATION_BLACK ||
+            view->presentation_state == EV_PRESENTATION_WHITE)) {
+               ev_view_reset_presentation_state (view);
+               return FALSE;
+       }
+       
        ev_view_presentation_transition_stop (view);
        ev_view_reset_presentation_state (view);
        
@@ -4926,6 +4933,13 @@ ev_view_previous_page (EvView *view)
                return TRUE;
        }
 
+       if (view->presentation &&
+           (view->presentation_state == EV_PRESENTATION_BLACK ||
+            view->presentation_state == EV_PRESENTATION_WHITE)) {
+               ev_view_reset_presentation_state (view);
+               return FALSE;
+       }
+
        ev_view_reset_presentation_state (view);
 
        page = ev_page_cache_get_current_page (view->page_cache);