Package: release.debian.org Severity: normal Tags: jessie User: [email protected] Usertags: pu
I would like to patch a couple of bugs in the stable release of evince. * reload-page-count.patch. Fix crash when document has pages removed and is reloaded. Update the end page index when the document is reloaded (Closes: #805276). This effects people who use evince as a previewer while working in latex or a similar typesetter. * check-load-job-success.patch. Fix crash in recent documents view when a recent document fails to load. Check whether a document's load job failed before creating it's thumbnail (Closes: #762719). It's possible to get into a situation where evince is unusable because you've recently viewed a password protected PDF. Evince is unable to create a thumbnail for the PDF and crashes on startup. debdiff is attached
diff -Nru evince-3.14.1/debian/changelog evince-3.14.1/debian/changelog --- evince-3.14.1/debian/changelog 2015-03-06 02:36:49.000000000 -0600 +++ evince-3.14.1/debian/changelog 2016-05-19 13:40:51.000000000 -0500 @@ -1,3 +1,14 @@ +evince (3.14.1-2+deb8u1) stable; urgency=medium + + * Add reload-page-count.patch. Fix crash when document has pages removed and + is reloaded. Update the end page index when the document is reloaded. + (Closes: #805276) + * Add check-load-job-success.patch. Fix crash in recent documents view when + a recent document fails to load. Check whether a document's load job + failed before creating it's thumbnail. (Closes: #762719) + + -- Jason Crain <[email protected]> Thu, 19 May 2016 13:03:32 -0500 + evince (3.14.1-2) unstable; urgency=medium * Team upload. diff -Nru evince-3.14.1/debian/patches/check-load-job-success.patch evince-3.14.1/debian/patches/check-load-job-success.patch --- evince-3.14.1/debian/patches/check-load-job-success.patch 1969-12-31 18:00:00.000000000 -0600 +++ evince-3.14.1/debian/patches/check-load-job-success.patch 2016-05-19 13:40:50.000000000 -0500 @@ -0,0 +1,23 @@ +Description: Check whether load job succeeded + Check whether document load job succeeded before creating it's thumbnail. + This fixes a crash in the recent documents view when a document fails to load. +Origin: upstream, https://git.gnome.org/browse/evince/commit/?id=921211ea2dfcff79df172e39a380074883e2b1a2 +Author: Marek Kasik <[email protected]> +Bug: https://bugzilla.gnome.org/744049 +Bug-Debian: https://bugs.debian.org/762719 +Last-Update: 2016-05-19 + +Index: evince-3.14.1/shell/ev-recent-view.c +=================================================================== +--- evince-3.14.1.orig/shell/ev-recent-view.c ++++ evince-3.14.1/shell/ev-recent-view.c +@@ -366,7 +366,8 @@ document_load_job_completed_callback (Ev + EvRecentViewPrivate *priv = data->ev_recent_view->priv; + EvDocument *document = EV_JOB (job_load)->document; + +- if (g_cancellable_is_cancelled (data->cancellable) || !document) { ++ if (g_cancellable_is_cancelled (data->cancellable) || ++ ev_job_is_failed (EV_JOB (job_load))) { + get_document_info_async_data_free (data); + return; + } diff -Nru evince-3.14.1/debian/patches/reload-page-count.patch evince-3.14.1/debian/patches/reload-page-count.patch --- evince-3.14.1/debian/patches/reload-page-count.patch 1969-12-31 18:00:00.000000000 -0600 +++ evince-3.14.1/debian/patches/reload-page-count.patch 2016-05-19 13:40:44.000000000 -0500 @@ -0,0 +1,29 @@ +Description: Check legal boundaries of accessable pages + Keep the accessible view end page under the limits of the document. Sometimes + when a document is reloaded, it may have fewer pages making the end page + higher than the actual number of pages. +Origin: backport, https://git.gnome.org/browse/evince/commit/?id=e6e0d29d9fed63599e736003f06428a1aea87121 +Author: Germán Poo-Caamaño <[email protected]> +Bug: https://bugzilla.gnome.org/735744 +Bug-Debian: https://bugs.debian.org/805276 +Last-Update: 2016-05-17 + +Index: evince-3.14.1/libview/ev-view-accessible.c +=================================================================== +--- evince-3.14.1.orig/libview/ev-view-accessible.c ++++ evince-3.14.1/libview/ev-view-accessible.c +@@ -389,6 +389,14 @@ initialize_children (EvViewAccessible *s + child = ev_page_accessible_new (self, i); + g_ptr_array_add (self->priv->children, child); + } ++ ++ /* When a document is reloaded, it may have less pages. ++ * We need to update the end page accordingly to avoid ++ * invalid access to self->priv->children ++ * See https://bugzilla.gnome.org/show_bug.cgi?id=735744 ++ */ ++ if (self->priv->end_page >= n_pages) ++ self->priv->end_page = n_pages - 1; + } + + static void diff -Nru evince-3.14.1/debian/patches/series evince-3.14.1/debian/patches/series --- evince-3.14.1/debian/patches/series 2015-03-06 02:36:36.000000000 -0600 +++ evince-3.14.1/debian/patches/series 2016-05-19 13:40:50.000000000 -0500 @@ -1 +1,3 @@ revert-69b474fce1.patch +reload-page-count.patch +check-load-job-success.patch

