[evince] libview: Make sure we have a valid page range before getting/setting selection list



commit a3b87cb28e46958b37e384a47604032ea0889807
Author: Carlos Garcia Campos <carlosgc gnome org>
Date:   Sun Nov 21 12:27:21 2010 +0100

    libview: Make sure we have a valid page range before getting/setting selection list
    
    Fixes bug #630999.

 libview/ev-pixbuf-cache.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)
---
diff --git a/libview/ev-pixbuf-cache.c b/libview/ev-pixbuf-cache.c
index 367f70d..ee68354 100644
--- a/libview/ev-pixbuf-cache.c
+++ b/libview/ev-pixbuf-cache.c
@@ -1035,6 +1035,9 @@ ev_pixbuf_cache_set_selection_list (EvPixbufCache *pixbuf_cache,
 	if (!EV_IS_SELECTION (pixbuf_cache->document))
 		return;
 
+        if (pixbuf_cache->start_page == -1 || pixbuf_cache->end_page == -1)
+                return;
+
 	/* We check each area to see what needs updating, and what needs freeing; */
 	page = pixbuf_cache->start_page - pixbuf_cache->preload_cache_size;
 	for (i = 0; i < pixbuf_cache->preload_cache_size; i++) {
@@ -1114,6 +1117,9 @@ ev_pixbuf_cache_get_selection_list (EvPixbufCache *pixbuf_cache)
 
 	g_return_val_if_fail (EV_IS_PIXBUF_CACHE (pixbuf_cache), NULL);
 
+        if (pixbuf_cache->start_page == -1 || pixbuf_cache->end_page == -1)
+                return NULL;
+
 	/* We check each area to see what needs updating, and what needs freeing; */
 	page = pixbuf_cache->start_page - pixbuf_cache->preload_cache_size;
 	for (i = 0; i < pixbuf_cache->preload_cache_size; i++) {



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