deal with a poppler API change (additional argument of functions dealing

with color profiles to implement caching): pass NULL (which disables
the cache), depend on new poppler headers and bump PKGREVISION
(While this is a poppler API change, it is in an unofficial interface,
so inkscape just gets what it deserves.)
problem reported by Tobias Nygren
This commit is contained in:
drochner 2009-11-22 16:08:46 +00:00
parent 03a5fdd958
commit 1c51489270
3 changed files with 98 additions and 25 deletions

View file

@ -1,7 +1,7 @@
# $NetBSD: Makefile,v 1.44 2009/11/15 15:40:01 drochner Exp $
# $NetBSD: Makefile,v 1.45 2009/11/22 16:08:46 drochner Exp $
DISTNAME= inkscape-0.46
PKGREVISION= 5
PKGREVISION= 6
CATEGORIES= graphics
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=inkscape/}
EXTRACT_SUFX= .tar.bz2
@ -45,6 +45,7 @@ CONFIGURE_ARGS+= --with-gnome-vfs
.include "../../sysutils/gnome-vfs/buildlink3.mk"
.endif
BUILDLINK_API_DEPENDS.poppler-includes+= poppler-includes>=0.12.2
.include "../../devel/boehm-gc/buildlink3.mk"
.include "../../devel/boost-libs/buildlink3.mk"
.include "../../devel/pango/buildlink3.mk"

View file

@ -1,4 +1,4 @@
$NetBSD: distinfo,v 1.28 2009/10/06 00:53:26 dmcmahill Exp $
$NetBSD: distinfo,v 1.29 2009/11/22 16:08:46 drochner Exp $
SHA1 (inkscape-0.46.tar.bz2) = ca68fc9bf539d7bcfc31f36d24f884255b2154e7
RMD160 (inkscape-0.46.tar.bz2) = c90713493557bdc17515de1287c9af401a4a3e26
@ -13,7 +13,7 @@ SHA1 (patch-ag) = 6b6000f3940ec6db9404a206f9757928c1d5740b
SHA1 (patch-ah) = 964e51dca7e1212037a9f0122fa0ef812bf8f46c
SHA1 (patch-ai) = 56271685b207f4056952929895f1fdd2ec74e3ef
SHA1 (patch-aj) = ae258d2b4f3d5bdbfbc6d76d13361b6e672de73c
SHA1 (patch-ak) = 7ce80942f955a63dd6f6e772cbf03cf7b89db2c0
SHA1 (patch-ak) = ec8a8ff767da9adeec8e40453d7a2c56fa373cd9
SHA1 (patch-al) = 0059368f58bc41395d96125c010c6cb574cfca6a
SHA1 (patch-am) = 0ca65739b623945283569580fe0b194fe89fb392
SHA1 (patch-an) = 6426a52af7b16c3dfeb51f5e48d879d56f067807

View file

@ -1,13 +1,68 @@
$NetBSD: patch-ak,v 1.1 2009/06/04 00:05:19 reed Exp $
$NetBSD: patch-ak,v 1.2 2009/11/22 16:08:46 drochner Exp $
from https://bugs.launchpad.net/inkscape/+bug/237574
diff -NrU5 inkscape-0.46.orig/src/extension/internal/pdfinput/pdf-parser.cpp inkscape-0.46/src/extension/internal/pdfinput/pdf-parser.cpp
--- src/extension/internal/pdfinput/pdf-parser.cpp 2008-06-05 00:26:20.000000000 +0200
+++ src/extension/internal/pdfinput/pdf-parser.cpp 2008-06-05 00:51:47.000000000 +0200
@@ -2194,11 +2194,11 @@
void PdfParser::doShowText(GooString *s) {
GfxFont *font;
--- src/extension/internal/pdfinput/pdf-parser.cpp.orig 2008-03-11 05:20:21.000000000 +0100
+++ src/extension/internal/pdfinput/pdf-parser.cpp
@@ -810,7 +810,7 @@ void PdfParser::opSetExtGState(Object ar
blendingColorSpace = NULL;
isolated = knockout = gFalse;
if (!obj4.dictLookup("CS", &obj5)->isNull()) {
- blendingColorSpace = GfxColorSpace::parse(&obj5);
+ blendingColorSpace = GfxColorSpace::parse(&obj5, NULL);
}
obj5.free();
if (obj4.dictLookup("I", &obj5)->isBool()) {
@@ -1010,9 +1010,9 @@ void PdfParser::opSetFillColorSpace(Obje
state->setFillPattern(NULL);
res->lookupColorSpace(args[0].getName(), &obj);
if (obj.isNull()) {
- colorSpace = GfxColorSpace::parse(&args[0]);
+ colorSpace = GfxColorSpace::parse(&args[0], NULL);
} else {
- colorSpace = GfxColorSpace::parse(&obj);
+ colorSpace = GfxColorSpace::parse(&obj, NULL);
}
obj.free();
if (colorSpace) {
@@ -1033,9 +1033,9 @@ void PdfParser::opSetStrokeColorSpace(Ob
state->setStrokePattern(NULL);
res->lookupColorSpace(args[0].getName(), &obj);
if (obj.isNull()) {
- colorSpace = GfxColorSpace::parse(&args[0]);
+ colorSpace = GfxColorSpace::parse(&args[0], NULL);
} else {
- colorSpace = GfxColorSpace::parse(&obj);
+ colorSpace = GfxColorSpace::parse(&obj, NULL);
}
obj.free();
if (colorSpace) {
@@ -1102,7 +1102,7 @@ void PdfParser::opSetFillColorN(Object a
builder->updateStyle(state);
}
if (args[numArgs-1].isName() &&
- (pattern = res->lookupPattern(args[numArgs-1].getName()))) {
+ (pattern = res->lookupPattern(args[numArgs-1].getName(), NULL))) {
state->setFillPattern(pattern);
builder->updateStyle(state);
}
@@ -1146,7 +1146,7 @@ void PdfParser::opSetStrokeColorN(Object
builder->updateStyle(state);
}
if (args[numArgs-1].isName() &&
- (pattern = res->lookupPattern(args[numArgs-1].getName()))) {
+ (pattern = res->lookupPattern(args[numArgs-1].getName(), NULL))) {
state->setStrokePattern(pattern);
builder->updateStyle(state);
}
@@ -1544,7 +1544,7 @@ void PdfParser::opShFill(Object args[],
double *matrix = NULL;
GBool savedState = gFalse;
- if (!(shading = res->lookupShading(args[0].getName()))) {
+ if (!(shading = res->lookupShading(args[0].getName(), NULL))) {
return;
}
@@ -2196,7 +2196,7 @@ void PdfParser::doShowText(GooString *s)
int wMode;
double riseX, riseY;
CharCode code;
@ -16,11 +71,7 @@ diff -NrU5 inkscape-0.46.orig/src/extension/internal/pdfinput/pdf-parser.cpp ink
double x, y, dx, dy, dx2, dy2, curX, curY, tdx, tdy, lineX, lineY;
double originX, originY, tOriginX, tOriginY;
double oldCTM[6], newCTM[6];
double *mat;
Object charProc;
@@ -2242,11 +2242,11 @@
oldParser = parser;
p = s->getCString();
@@ -2244,7 +2244,7 @@ void PdfParser::doShowText(GooString *s)
len = s->getLength();
while (len > 0) {
n = font->getNextChar(p, len, &code,
@ -29,11 +80,7 @@ diff -NrU5 inkscape-0.46.orig/src/extension/internal/pdfinput/pdf-parser.cpp ink
&dx, &dy, &originX, &originY);
dx = dx * state->getFontSize() + state->getCharSpace();
if (n == 1 && *p == ' ') {
dx += state->getWordSpace();
}
@@ -2291,11 +2291,11 @@
state->textTransformDelta(0, state->getRise(), &riseX, &riseY);
p = s->getCString();
@@ -2293,7 +2293,7 @@ void PdfParser::doShowText(GooString *s)
len = s->getLength();
while (len > 0) {
n = font->getNextChar(p, len, &code,
@ -42,5 +89,30 @@ diff -NrU5 inkscape-0.46.orig/src/extension/internal/pdfinput/pdf-parser.cpp ink
&dx, &dy, &originX, &originY);
if (wMode) {
dx *= state->getFontSize();
dy = dy * state->getFontSize() + state->getCharSpace();
@@ -2487,7 +2487,7 @@ void PdfParser::doImage(Object *ref, Str
}
}
if (!obj1.isNull()) {
- colorSpace = GfxColorSpace::parse(&obj1);
+ colorSpace = GfxColorSpace::parse(&obj1, NULL);
} else if (csMode == streamCSDeviceGray) {
colorSpace = new GfxDeviceGrayColorSpace();
} else if (csMode == streamCSDeviceRGB) {
@@ -2572,7 +2572,7 @@ void PdfParser::doImage(Object *ref, Str
obj2.free();
}
}
- maskColorSpace = GfxColorSpace::parse(&obj1);
+ maskColorSpace = GfxColorSpace::parse(&obj1, NULL);
obj1.free();
if (!maskColorSpace || maskColorSpace->getMode() != csDeviceGray) {
goto err1;
@@ -2747,7 +2747,7 @@ void PdfParser::doForm(Object *str) {
if (obj1.dictLookup("S", &obj2)->isName("Transparency")) {
transpGroup = gTrue;
if (!obj1.dictLookup("CS", &obj3)->isNull()) {
- blendingColorSpace = GfxColorSpace::parse(&obj3);
+ blendingColorSpace = GfxColorSpace::parse(&obj3, NULL);
}
obj3.free();
if (obj1.dictLookup("I", &obj3)->isBool()) {