diff options
author | Erik Hanson <erik@slackbuilds.org> | 2011-05-10 17:09:43 -0500 |
---|---|---|
committer | Robby Workman <rworkman@slackbuilds.org> | 2011-05-17 09:54:03 -0500 |
commit | 9ac64013666e0a79f2cbfd034335ac379c3fbeac (patch) | |
tree | 2d4be3726557e739482c2f35fb2fb76c4b3c1a0a /office/evince/patches/evince-2.32.0-libview-crash.patch | |
parent | d79e834943a46e18229d6f252626362047f13fb9 (diff) | |
download | slackbuilds-9ac64013666e0a79f2cbfd034335ac379c3fbeac.tar.gz |
office/evince: Added various patches to fix things.
No idea which patch(es) fixes the segfault,
don't really care to find out.
Signed-off-by: Erik Hanson <erik@slackbuilds.org>
Diffstat (limited to 'office/evince/patches/evince-2.32.0-libview-crash.patch')
-rw-r--r-- | office/evince/patches/evince-2.32.0-libview-crash.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/office/evince/patches/evince-2.32.0-libview-crash.patch b/office/evince/patches/evince-2.32.0-libview-crash.patch new file mode 100644 index 0000000000..65d07751fd --- /dev/null +++ b/office/evince/patches/evince-2.32.0-libview-crash.patch @@ -0,0 +1,32 @@ +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. + +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++) { |