Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosé Aliste <jose.aliste@gmail.com>2009-11-25 11:49:52 (GMT)
committer Carlos Garcia Campos <carlosgc@gnome.org>2009-11-25 11:49:52 (GMT)
commit5b1074d5c1dcc9088a487190a1d3d9d58e3962a6 (patch)
treece17e726475e06202be7bed5c430f8afdfb50824
parentcf9762c15fae990c6cb63361274deefb9303d91e (diff)
[libview] Fix rendering issue in dual/continuous mode
Fixes bgo#602742.
-rw-r--r--libview/ev-view.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/libview/ev-view.c b/libview/ev-view.c
index 91ce470..28c8f82 100644
--- a/libview/ev-view.c
+++ b/libview/ev-view.c
@@ -622,13 +622,13 @@ view_update_range_and_current_page (EvView *view)
gboolean found = FALSE;
gint area_max = -1, area;
gint best_current_page = -1;
- int i;
+ int i, j = 0;
if (!(view->vadjustment && view->hadjustment))
return;
current_area.x = view->hadjustment->value;
- current_area.width = view->hadjustment->upper;
+ current_area.width = view->hadjustment->page_size;
current_area.y = view->vadjustment->value;
current_area.height = view->vadjustment->page_size;
@@ -651,7 +651,15 @@ view_update_range_and_current_page (EvView *view)
}
view->end_page = i;
+ j = 0;
} else if (found && view->current_page <= view->end_page) {
+ if (view->dual_page && j < 1) {
+ /* In dual mode we stop searching
+ * after two consecutive non-visible pages.
+ */
+ j++;
+ continue;
+ }
break;
}
}