[evince] libview: Do not divide by zero when setting adjustment



commit 42aca947066b38e650090d85b13a5e9051daae57
Author: Petr Pisar <petr pisar atlas cz>
Date:   Mon Sep 17 17:47:22 2012 +0200

    libview: Do not divide by zero when setting adjustment
    
    https://bugzilla.gnome.org/show_bug.cgi?id=681546

 libview/ev-view.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
---
diff --git a/libview/ev-view.c b/libview/ev-view.c
index 3491824..f61691c 100644
--- a/libview/ev-view.c
+++ b/libview/ev-view.c
@@ -592,7 +592,8 @@ ev_view_set_adjustment_values (EvView         *view,
 	upper = gtk_adjustment_get_upper (adjustment);
 	page_size = gtk_adjustment_get_page_size (adjustment);
 
-	switch (view->pending_scroll) {
+	if (upper != .0) {
+		switch (view->pending_scroll) {
     	        case SCROLL_TO_KEEP_POSITION:
     	        case SCROLL_TO_FIND_LOCATION:
 			factor = value / upper;
@@ -602,6 +603,7 @@ ev_view_set_adjustment_values (EvView         *view,
     	        case SCROLL_TO_CENTER:
 			factor = (value + page_size * 0.5) / upper;
 			break;
+		}
 	}
 
 	upper = MAX (alloc_size, req_size);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]