From ba7af404335a71a45dc0f39b20e496f32f7eb81d Mon Sep 17 00:00:00 2001 From: infirit Date: Tue, 9 Dec 2014 15:11:31 +0100 Subject: libview: Make sure we have a valid page range before getting/setting selection list Taken from evince commit: a3b87cb28e46958b37e384a47604032ea0889807 From: Carlos Garcia Campos Gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=630999 --- libview/ev-pixbuf-cache.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'libview') diff --git a/libview/ev-pixbuf-cache.c b/libview/ev-pixbuf-cache.c index 9741e434..118d3f33 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++) { -- cgit v1.2.1