Hello community, here is the log from the commit of package poppler for openSUSE:Factory checked in at 2016-04-08 09:37:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/poppler (Old) and /work/SRC/openSUSE:Factory/.poppler.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "poppler" Changes: -------- --- /work/SRC/openSUSE:Factory/poppler/poppler-qt.changes 2016-03-26 15:09:27.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.poppler.new/poppler-qt.changes 2016-04-08 09:37:56.000000000 +0200 @@ -1,0 +2,6 @@ +Tue Apr 5 14:48:39 UTC 2016 - zaitor@opensuse.org + +- Add poppler-Fix-rendering-of-broken-pdfs.patch: Fix pdf rendering + commit (boo#973888 bgo#764641 fdo#94830). + +------------------------------------------------------------------- poppler-qt5.changes: same change poppler.changes: same change New: ---- poppler-Fix-rendering-of-broken-pdfs.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ poppler-qt.spec ++++++ --- /var/tmp/diff_new_pack.aB8NUK/_old 2016-04-08 09:37:57.000000000 +0200 +++ /var/tmp/diff_new_pack.aB8NUK/_new 2016-04-08 09:37:57.000000000 +0200 @@ -38,6 +38,8 @@ Group: System/Libraries Source: http://poppler.freedesktop.org/%{_name}-%{version}.tar.xz Source99: baselibs.conf +# PATCH-FIX-UPSTREAM poppler-Fix-rendering-of-broken-pdfs.patch boo#973888 bgo#764641 fdo#94830 zaitor@opensuse.org -- Fix pdf rendering commit. +Patch0: poppler-Fix-rendering-of-broken-pdfs.patch BuildRequires: gcc-c++ BuildRequires: gobject-introspection-devel BuildRequires: libjpeg-devel @@ -226,6 +228,7 @@ %prep %setup -q -n poppler-%{version} +%patch0 -p1 %build %if %build_qt5 poppler-qt5.spec: same change ++++++ poppler.spec ++++++ --- /var/tmp/diff_new_pack.aB8NUK/_old 2016-04-08 09:37:57.000000000 +0200 +++ /var/tmp/diff_new_pack.aB8NUK/_new 2016-04-08 09:37:57.000000000 +0200 @@ -38,6 +38,8 @@ Group: System/Libraries Source: http://poppler.freedesktop.org/%{_name}-%{version}.tar.xz Source99: baselibs.conf +# PATCH-FIX-UPSTREAM poppler-Fix-rendering-of-broken-pdfs.patch boo#973888 bgo#764641 fdo#94830 zaitor@opensuse.org -- Fix pdf rendering commit. +Patch0: poppler-Fix-rendering-of-broken-pdfs.patch BuildRequires: gcc-c++ BuildRequires: gobject-introspection-devel BuildRequires: libjpeg-devel @@ -226,6 +228,7 @@ %prep %setup -q -n poppler-%{version} +%patch0 -p1 %build %if %build_qt5 ++++++ poppler-Fix-rendering-of-broken-pdfs.patch ++++++ diff --git a/poppler/XRef.cc b/poppler/XRef.cc index 76ffc6f..3d032bc 100644 --- a/poppler/XRef.cc +++ b/poppler/XRef.cc @@ -973,7 +973,12 @@ GBool XRef::constructXRef(GBool *wasReconstructed, GBool needCatalogDict) { do { ++p; } while (*p && isdigit(*p & 0xff)); - if (isspace(*p & 0xff)) { + if ((*p & 0xff) == 0 || isspace(*p & 0xff)) { + if ((*p & 0xff) == 0) { + //new line, continue with next line! + str->getLine(buf, 256); + p = buf - 1; + } do { ++p; } while (*p && isspace(*p & 0xff)); @@ -982,7 +987,12 @@ GBool XRef::constructXRef(GBool *wasReconstructed, GBool needCatalogDict) { do { ++p; } while (*p && isdigit(*p & 0xff)); - if (isspace(*p & 0xff)) { + if ((*p & 0xff) == 0 || isspace(*p & 0xff)) { + if ((*p & 0xff) == 0) { + //new line, continue with next line! + str->getLine(buf, 256); + p = buf - 1; + } do { ++p; } while (*p && isspace(*p & 0xff)); @@ -1251,6 +1261,7 @@ Object *XRef::fetch(int num, int gen, Object *obj, int recursion) { err: if (!xRefStream && !xrefReconstructed) { + error(errInternal, -1, "xref num {0:d} not found but needed, try to reconstruct\n", num); rootNum = -1; constructXRef(&xrefReconstructed); return fetch(num, gen, obj, ++recursion);