update to 0.8.3
changes: -fix crashes on certain input -Fix leaks -Do not limit CharCodeToUnicodeString to 8 characters -Support for surrogates outside the BMP plane pkgsrc note: the crashes had been fixed by patches in pkgsrc before
This commit is contained in:
parent
b2739ce816
commit
9cee4bd5cb
5 changed files with 7 additions and 122 deletions
|
@ -1,10 +1,8 @@
|
|||
# $NetBSD: Makefile,v 1.28 2008/05/15 09:15:41 drochner Exp $
|
||||
# $NetBSD: Makefile,v 1.29 2008/06/05 21:03:37 drochner Exp $
|
||||
#
|
||||
|
||||
.include "../../print/poppler/Makefile.common"
|
||||
|
||||
PKGREVISION= 1
|
||||
|
||||
COMMENT= PDF rendering library
|
||||
|
||||
USE_TOOLS+= gmake
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# $NetBSD: Makefile.common,v 1.15 2008/06/03 20:31:10 abs Exp $
|
||||
# $NetBSD: Makefile.common,v 1.16 2008/06/05 21:03:37 drochner Exp $
|
||||
# used by print/poppler/Makefile
|
||||
# used by print/poppler-qt4/Makefile
|
||||
|
||||
POPPLER_VERS= 0.8.2
|
||||
POPPLER_VERS= 0.8.3
|
||||
DISTNAME= poppler-${POPPLER_VERS}
|
||||
CATEGORIES= print
|
||||
MASTER_SITES= http://poppler.freedesktop.org/
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
$NetBSD: distinfo,v 1.28 2008/05/15 17:51:29 drochner Exp $
|
||||
$NetBSD: distinfo,v 1.29 2008/06/05 21:03:37 drochner Exp $
|
||||
|
||||
SHA1 (poppler-0.8.2.tar.gz) = afa4baa4e0b65c9663cddae7b0b3da8efb1c9263
|
||||
RMD160 (poppler-0.8.2.tar.gz) = 6593f26070d051c6d5054acc454e15dde97a5203
|
||||
Size (poppler-0.8.2.tar.gz) = 1459274 bytes
|
||||
SHA1 (poppler-0.8.3.tar.gz) = 763d18d9f0e625a936b3a3fbbcd00b58ddd2f84f
|
||||
RMD160 (poppler-0.8.3.tar.gz) = f6553fdf468bd67ec8a7f943ba2cc7f141052302
|
||||
Size (poppler-0.8.3.tar.gz) = 1463306 bytes
|
||||
SHA1 (patch-aa) = 43c63c16d3a845e394a8eb0c3a321944fcf17615
|
||||
SHA1 (patch-ab) = e3d413ec50a098af06cb2efc2fac2042064498dd
|
||||
SHA1 (patch-ag) = d1581a1ca40bba34146a4a6f4ee7d38b8f6ff3b7
|
||||
SHA1 (patch-ah) = ca50d0d8ef6da70f201cc66b0e797dde904b77e0
|
||||
SHA1 (patch-ai) = d03a8df1d32822a387f53206a21f8eba41a0c430
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
$NetBSD: patch-ah,v 1.3 2008/05/15 09:15:41 drochner Exp $
|
||||
|
||||
--- poppler/Annot.cc.orig 2008-03-26 20:38:52.000000000 +0100
|
||||
+++ poppler/Annot.cc
|
||||
@@ -1735,7 +1735,7 @@ void AnnotWidget::initialize(XRef *xrefA
|
||||
// Only text or choice fields needs to have appearance regenerated
|
||||
// see section 8.6.2 "Variable Text" of PDFReference
|
||||
regen = gFalse;
|
||||
- if (widget->getType () == formText || widget->getType () == formChoice) {
|
||||
+ if (widget != NULL && (widget->getType () == formText || widget->getType () == formChoice)) {
|
||||
regen = form->getNeedAppearances ();
|
||||
}
|
||||
|
||||
@@ -2577,7 +2577,7 @@ void AnnotWidget::generateFieldAppearanc
|
||||
int dashLength, ff, quadding, comb, nOptions, topIdx, i, j;
|
||||
GBool modified;
|
||||
|
||||
- if (!widget->getField () || !widget->getField ()->getObj ()->isDict ())
|
||||
+ if (widget == NULL || !widget->getField () || !widget->getField ()->getObj ()->isDict ())
|
||||
return;
|
||||
|
||||
field = widget->getField ()->getObj ()->getDict ();
|
|
@ -1,89 +0,0 @@
|
|||
$NetBSD: patch-ai,v 1.3 2008/05/15 17:51:29 drochner Exp $
|
||||
|
||||
--- poppler/OptionalContent.cc.orig 2008-03-26 20:38:52.000000000 +0100
|
||||
+++ poppler/OptionalContent.cc
|
||||
@@ -162,12 +162,18 @@ OptionalContentGroup* OCGs::findOcgByRef
|
||||
{
|
||||
//TODO: make this more efficient
|
||||
OptionalContentGroup *ocg = NULL;
|
||||
- for (int i=0; i < optionalContentGroups->getLength(); ++i) {
|
||||
- ocg = (OptionalContentGroup*)optionalContentGroups->get(i);
|
||||
- if ( (ocg->ref().num == ref.num) && (ocg->ref().gen == ref.gen) ) {
|
||||
- return ocg;
|
||||
+ if (optionalContentGroups != NULL)
|
||||
+ {
|
||||
+ for (int i=0; i < optionalContentGroups->getLength(); ++i) {
|
||||
+ ocg = (OptionalContentGroup*)optionalContentGroups->get(i);
|
||||
+ if ( (ocg->ref().num == ref.num) && (ocg->ref().gen == ref.gen) ) {
|
||||
+ return ocg;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
+
|
||||
+ error(-1, "Could not find a OCG with Ref (%d:%d)", ref.num, ref.gen);
|
||||
+
|
||||
// not found
|
||||
return NULL;
|
||||
}
|
||||
@@ -208,7 +214,7 @@ bool OCGs::optContentIsVisible( Object *
|
||||
}
|
||||
} else if (ocg.isRef()) {
|
||||
OptionalContentGroup* oc = findOcgByRef( ocg.getRef() );
|
||||
- if ( oc->state() == OptionalContentGroup::Off ) {
|
||||
+ if ( !oc || oc->state() == OptionalContentGroup::Off ) {
|
||||
result = false;
|
||||
} else {
|
||||
result = true ;
|
||||
@@ -218,13 +224,10 @@ bool OCGs::optContentIsVisible( Object *
|
||||
policy.free();
|
||||
} else if ( dictType.isName("OCG") ) {
|
||||
OptionalContentGroup* oc = findOcgByRef( dictRef->getRef() );
|
||||
- if ( oc ) {
|
||||
-// printf("Found valid group object\n");
|
||||
- if ( oc->state() == OptionalContentGroup::Off ) {
|
||||
- result=false;
|
||||
- }
|
||||
+ if ( !oc || oc->state() == OptionalContentGroup::Off ) {
|
||||
+ result=false;
|
||||
}
|
||||
- }
|
||||
+ }
|
||||
dictType.free();
|
||||
dictObj.free();
|
||||
// printf("visibility: %s\n", result? "on" : "off");
|
||||
@@ -238,7 +241,7 @@ bool OCGs::allOn( Array *ocgArray )
|
||||
ocgArray->getNF(i, &ocgItem);
|
||||
if (ocgItem.isRef()) {
|
||||
OptionalContentGroup* oc = findOcgByRef( ocgItem.getRef() );
|
||||
- if ( oc->state() == OptionalContentGroup::Off ) {
|
||||
+ if ( oc && oc->state() == OptionalContentGroup::Off ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -253,7 +256,7 @@ bool OCGs::allOff( Array *ocgArray )
|
||||
ocgArray->getNF(i, &ocgItem);
|
||||
if (ocgItem.isRef()) {
|
||||
OptionalContentGroup* oc = findOcgByRef( ocgItem.getRef() );
|
||||
- if ( oc->state() == OptionalContentGroup::On ) {
|
||||
+ if ( oc && oc->state() == OptionalContentGroup::On ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -268,7 +271,7 @@ bool OCGs::anyOn( Array *ocgArray )
|
||||
ocgArray->getNF(i, &ocgItem);
|
||||
if (ocgItem.isRef()) {
|
||||
OptionalContentGroup* oc = findOcgByRef( ocgItem.getRef() );
|
||||
- if ( oc->state() == OptionalContentGroup::On ) {
|
||||
+ if ( oc && oc->state() == OptionalContentGroup::On ) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -283,7 +286,7 @@ bool OCGs::anyOff( Array *ocgArray )
|
||||
ocgArray->getNF(i, &ocgItem);
|
||||
if (ocgItem.isRef()) {
|
||||
OptionalContentGroup* oc = findOcgByRef( ocgItem.getRef() );
|
||||
- if ( oc->state() == OptionalContentGroup::Off ) {
|
||||
+ if ( oc && oc->state() == OptionalContentGroup::Off ) {
|
||||
return true;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue