commit ae07f64337c4b131744aff5783f0e77df24c37ad
Author: Bogdan Petcu <bogdanconstantinpetcu@gmail.com>
Date:   Sat Mar 1 22:55:32 2014 +0200

    switching from continuous to not-continuous and viceversa keeps same position in document

diff --git a/libview/ev-view.c b/libview/ev-view.c
index 9f62738..526abdd 100644
--- a/libview/ev-view.c
+++ b/libview/ev-view.c
@@ -7139,6 +7139,19 @@ ev_view_continuous_changed_cb (EvDocumentModel *model,
 {
 	gboolean continuous = ev_document_model_get_continuous (model);
 
+	if (view->document) {
+		GdkPoint     view_point;
+		GdkRectangle page_area;
+		GtkBorder    border;
+
+		view_point.x = view->scroll_x;
+		view_point.y = (!continuous) ? view->scroll_y : view->scroll_y + 2;
+		ev_view_get_page_extents (view, view->current_page, &page_area, &border);
+		_ev_view_transform_view_point_to_doc_point (view, &view_point, &page_area,
+							    &view->pending_point.x,
+							    &view->pending_point.y);
+	}
+
 	view->continuous = continuous;
 	view->pending_scroll = SCROLL_TO_PAGE_POSITION;
 	gtk_widget_queue_resize (GTK_WIDGET (view));
