head 1.6; access; symbols pkgsrc-2013Q2:1.6.0.4 pkgsrc-2013Q2-base:1.6 pkgsrc-2012Q4:1.6.0.2 pkgsrc-2012Q4-base:1.6 pkgsrc-2012Q3:1.5.0.14 pkgsrc-2012Q3-base:1.5 pkgsrc-2012Q2:1.5.0.12 pkgsrc-2012Q2-base:1.5 pkgsrc-2012Q1:1.5.0.10 pkgsrc-2012Q1-base:1.5 pkgsrc-2011Q4:1.5.0.8 pkgsrc-2011Q4-base:1.5 pkgsrc-2011Q3:1.5.0.6 pkgsrc-2011Q3-base:1.5 pkgsrc-2011Q2:1.5.0.4 pkgsrc-2011Q2-base:1.5 pkgsrc-2011Q1:1.5.0.2 pkgsrc-2011Q1-base:1.5 pkgsrc-2010Q2:1.3.0.6 pkgsrc-2010Q2-base:1.3 pkgsrc-2010Q1:1.3.0.4 pkgsrc-2010Q1-base:1.3 pkgsrc-2009Q4:1.3.0.2 pkgsrc-2009Q4-base:1.3 pkgsrc-2009Q3:1.1.0.4 pkgsrc-2009Q3-base:1.1 pkgsrc-2009Q2:1.1.0.2 pkgsrc-2009Q2-base:1.1; locks; strict; comment @# @; 1.6 date 2012.12.18.14.01.06; author drochner; state dead; branches; next 1.5; 1.5 date 2011.01.16.18.18.19; author tnn; state Exp; branches; next 1.4; 1.4 date 2010.09.22.11.39.14; author adam; state dead; branches; next 1.3; 1.3 date 2009.11.29.20.51.51; author tnn; state Exp; branches; next 1.2; 1.2 date 2009.11.22.16.08.46; author drochner; state Exp; branches; next 1.1; 1.1 date 2009.06.04.00.05.19; author reed; state Exp; branches; next ; desc @@ 1.6 log @update to 0.48.4 changes: -bugfixes -patches to allow build against newer png and poppler were included -security fix for "XXE" vulneralility: inkscape could be used to put contents of other files into SVG output @ text @$NetBSD: patch-ak,v 1.5 2011/01/16 18:18:19 tnn Exp $ --- src/sp-image.cpp.orig 2010-07-13 03:48:40.000000000 +0000 +++ src/sp-image.cpp @@@@ -388,7 +388,7 @@@@ static bool readPngAndHeaders( PushPull { char* name = 0; int compression_type = 0; - char* profile = 0; + png_byte* profile = 0; png_uint_32 proflen = 0; if ( png_get_iCCP(pngPtr, infoPtr, &name, &compression_type, &profile, &proflen) ) { // g_message("Found an iCCP chunk named [%s] with %d bytes and comp %d", name, proflen, compression_type); @ 1.5 log @png-1.5 build fix @ text @d1 1 a1 1 $NetBSD$ @ 1.4 log @Changes 0.48.0: The highlights of this release are: * multipath editing * improved text tool: subscript, superscript, numerical input for text kerning, tracking and more * new Airbrush tool * LaTeX export with PDF/PS/EPS * JessyInk extension to create presentations * numerous bugfixes @ text @d1 1 a1 1 $NetBSD: patch-ak,v 1.3 2009/11/29 20:51:51 tnn Exp $ d3 11 a13 89 --- src/extension/internal/pdfinput/pdf-parser.cpp.orig 2009-11-16 18:29:17.000000000 +0100 +++ src/extension/internal/pdfinput/pdf-parser.cpp @@@@ -809,7 +809,7 @@@@ void PdfParser::opSetExtGState(Object ar blendingColorSpace = NULL; isolated = knockout = gFalse; if (!obj4.dictLookup(const_cast("CS"), &obj5)->isNull()) { - blendingColorSpace = GfxColorSpace::parse(&obj5); + blendingColorSpace = GfxColorSpace::parse(&obj5, NULL); } obj5.free(); if (obj4.dictLookup(const_cast("I"), &obj5)->isBool()) { @@@@ -1009,9 +1009,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) { @@@@ -1032,9 +1032,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) { @@@@ -1101,7 +1101,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); } @@@@ -1145,7 +1145,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); } @@@@ -1543,7 +1543,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; } @@@@ -2507,7 +2507,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) { @@@@ -2592,7 +2592,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; @@@@ -2767,7 +2767,7 @@@@ void PdfParser::doForm(Object *str) { if (obj1.dictLookup(const_cast("S"), &obj2)->isName(const_cast("Transparency"))) { transpGroup = gTrue; if (!obj1.dictLookup(const_cast("CS"), &obj3)->isNull()) { - blendingColorSpace = GfxColorSpace::parse(&obj3); + blendingColorSpace = GfxColorSpace::parse(&obj3, NULL); } obj3.free(); if (obj1.dictLookup(const_cast("I"), &obj3)->isBool()) { @ 1.3 log @Update to inkscape-0.47. -- Inkscape 0.47 brings a host of important improvements all across the program: * Timed autosave: no more lost work * Spiro splines: an exciting new way to work with paths, fully supported in Pen, Pencil, and Node tools * Auto smooth nodes: a new type of node that keeps the path as smooth as possible as you move it or its neighbors * New modes in Tweak tool: pushing and jittering whole objects, scaling/rotating objects, deleting and duplicating using the "soft brush" * Reworked, much more usable snapping system and a Snapping toolbar * New path effects, including sketch, hatching, envelope deformation; effects can be stacked and assigned to groups * A huge collection of preset filters in the new Filters menu * New cairo-based PS and EPS export: improved quality, more features supported, fallback rasterization for filters and transparency * Spell checker for text objects in a document * Many new extensions: restacking, calendar, printing marks, cartesian and polar grids, interpolating attributes * Optimized SVG code options, now with their own Preferences page @ text @d1 1 a1 1 $NetBSD$ @ 1.2 log @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 @ text @d3 1 a3 1 --- src/extension/internal/pdfinput/pdf-parser.cpp.orig 2008-03-11 05:20:21.000000000 +0100 d5 1 a5 1 @@@@ -810,7 +810,7 @@@@ void PdfParser::opSetExtGState(Object ar d8 1 a8 1 if (!obj4.dictLookup("CS", &obj5)->isNull()) { d10 1 a10 1 + blendingColorSpace = GfxColorSpace::parse(&obj5, NULL); d13 2 a14 2 if (obj4.dictLookup("I", &obj5)->isBool()) { @@@@ -1010,9 +1010,9 @@@@ void PdfParser::opSetFillColorSpace(Obje d19 1 a19 1 + colorSpace = GfxColorSpace::parse(&args[0], NULL); d22 1 a22 1 + colorSpace = GfxColorSpace::parse(&obj, NULL); d26 1 a26 1 @@@@ -1033,9 +1033,9 @@@@ void PdfParser::opSetStrokeColorSpace(Ob d31 1 a31 1 + colorSpace = GfxColorSpace::parse(&args[0], NULL); d34 1 a34 1 + colorSpace = GfxColorSpace::parse(&obj, NULL); d38 1 a38 1 @@@@ -1102,7 +1102,7 @@@@ void PdfParser::opSetFillColorN(Object a d47 1 a47 1 @@@@ -1146,7 +1146,7 @@@@ void PdfParser::opSetStrokeColorN(Object d56 1 a56 1 @@@@ -1544,7 +1544,7 @@@@ void PdfParser::opShFill(Object args[], d65 1 a65 28 @@@@ -2196,7 +2196,7 @@@@ void PdfParser::doShowText(GooString *s) int wMode; double riseX, riseY; CharCode code; - Unicode u[8]; + Unicode *u = NULL; double x, y, dx, dy, dx2, dy2, curX, curY, tdx, tdy, lineX, lineY; double originX, originY, tOriginX, tOriginY; double oldCTM[6], newCTM[6]; @@@@ -2244,7 +2244,7 @@@@ void PdfParser::doShowText(GooString *s) len = s->getLength(); while (len > 0) { n = font->getNextChar(p, len, &code, - u, (int)(sizeof(u) / sizeof(Unicode)), &uLen, + &u, &uLen, &dx, &dy, &originX, &originY); dx = dx * state->getFontSize() + state->getCharSpace(); if (n == 1 && *p == ' ') { @@@@ -2293,7 +2293,7 @@@@ void PdfParser::doShowText(GooString *s) len = s->getLength(); while (len > 0) { n = font->getNextChar(p, len, &code, - u, (int)(sizeof(u) / sizeof(Unicode)), &uLen, + &u, &uLen, &dx, &dy, &originX, &originY); if (wMode) { @@@@ -2487,7 +2487,7 @@@@ void PdfParser::doImage(Object *ref, Str d70 1 a70 1 + colorSpace = GfxColorSpace::parse(&obj1, NULL); d74 1 a74 1 @@@@ -2572,7 +2572,7 @@@@ void PdfParser::doImage(Object *ref, Str d83 2 a84 2 @@@@ -2747,7 +2747,7 @@@@ void PdfParser::doForm(Object *str) { if (obj1.dictLookup("S", &obj2)->isName("Transparency")) { d86 1 a86 1 if (!obj1.dictLookup("CS", &obj3)->isNull()) { d88 1 a88 1 + blendingColorSpace = GfxColorSpace::parse(&obj3, NULL); d91 1 a91 1 if (obj1.dictLookup("I", &obj3)->isBool()) { @ 1.1 log @Use libpoppler so it can offer PDF import also. Bump PKGREVISION. Thanks to Michael A. Koerber for bringing this to my attention and testing. @ text @d3 63 a65 8 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; d74 1 a74 5 double *mat; Object charProc; @@@@ -2242,11 +2242,11 @@@@ oldParser = parser; p = s->getCString(); d83 1 a83 5 dx += state->getWordSpace(); } @@@@ -2291,11 +2291,11 @@@@ state->textTransformDelta(0, state->getRise(), &riseX, &riseY); p = s->getCString(); d92 27 a118 2 dx *= state->getFontSize(); dy = dy * state->getFontSize() + state->getCharSpace(); @