From: Carlos Garcia Campos Date: Sun, 21 Nov 2010 11:27:21 +0000 (+0100) Subject: libview: Make sure we have a valid page range before getting/setting selection list X-Git-Tag: EVINCE_2_91_3~7 X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=commitdiff_plain;h=a3b87cb28e46958b37e384a47604032ea0889807;p=evince.git libview: Make sure we have a valid page range before getting/setting selection list Fixes bug #630999. --- diff --git a/libview/ev-pixbuf-cache.c b/libview/ev-pixbuf-cache.c index 367f70d7..ee683545 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++) {