diff options
author | Nickolay V. Shmyrev <nshmyrev@src.gnome.org> | 2005-06-04 22:53:48 (GMT) |
---|---|---|
committer | Nickolay V. Shmyrev <nshmyrev@src.gnome.org> | 2005-06-04 22:53:48 (GMT) |
commit | 8d43cc37d782fdaa65c8f68b94502ef62382fc6c (patch) | |
tree | 6421e2ffe2f91bdabb01a152ae284db8e8ccf2b0 /shell/ev-view.c | |
parent | 07d12ea402c007f4d9ef30dff8f653a3bd3a1583 (diff) |
A bit different fix for rounding problem but it has no
problems on startup. Make properties window transient to parent.
Diffstat (limited to 'shell/ev-view.c')
-rw-r--r-- | shell/ev-view.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/shell/ev-view.c b/shell/ev-view.c index 20c0eef..4ea0fce 100644 --- a/shell/ev-view.c +++ b/shell/ev-view.c @@ -422,16 +422,14 @@ view_set_adjustment_values (EvView *view, return; factor = 1.0; - /* We add 0.5 to the values before to average out our rounding errors. - */ switch (view->pending_scroll) { case SCROLL_TO_KEEP_POSITION: - factor = (adjustment->value + 0.5) / adjustment->upper; + factor = (adjustment->value) / adjustment->upper; break; case SCROLL_TO_CURRENT_PAGE: break; case SCROLL_TO_CENTER: - factor = (adjustment->value + adjustment->page_size * 0.5 + 0.5) / adjustment->upper; + factor = (adjustment->value + adjustment->page_size * 0.5) / adjustment->upper; break; } @@ -441,16 +439,19 @@ view_set_adjustment_values (EvView *view, adjustment->lower = 0; adjustment->upper = MAX (allocation, requisition); + /* + * We add 0.5 to the values before to average out our rounding errors. + */ switch (view->pending_scroll) { case SCROLL_TO_KEEP_POSITION: - new_value = CLAMP (adjustment->upper * factor, 0, adjustment->upper - adjustment->page_size); + new_value = CLAMP (adjustment->upper * factor + 0.5, 0, adjustment->upper - adjustment->page_size); gtk_adjustment_set_value (adjustment, (int)new_value); break; case SCROLL_TO_CURRENT_PAGE: scroll_to_current_page (view, orientation); break; case SCROLL_TO_CENTER: - new_value = CLAMP (adjustment->upper * factor - adjustment->page_size * 0.5, + new_value = CLAMP (adjustment->upper * factor - adjustment->page_size * 0.5 + 0.5, 0, adjustment->upper - adjustment->page_size); gtk_adjustment_set_value (adjustment, (int)new_value); break; |