diff options
author | José 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) |
commit | 5b1074d5c1dcc9088a487190a1d3d9d58e3962a6 (patch) | |
tree | ce17e726475e06202be7bed5c430f8afdfb50824 | |
parent | cf9762c15fae990c6cb63361274deefb9303d91e (diff) |
[libview] Fix rendering issue in dual/continuous mode
Fixes bgo#602742.
-rw-r--r-- | libview/ev-view.c | 12 |
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; } } |