--- inkscape-0.47/src/extension/internal/pdfinput/pdf-parser.cpp~ 2009-11-16 18:29:17.000000000 +0100 +++ inkscape-0.47/src/extension/internal/pdfinput/pdf-parser.cpp 2009-11-24 19:09:47.000000000 +0100 @@ -809,7 +809,7 @@ blendingColorSpace = NULL; isolated = knockout = gFalse; if (!obj4.dictLookup(const_cast("CS"), &obj5)->isNull()) { - blendingColorSpace = GfxColorSpace::parse(&obj5); + blendingColorSpace = GfxColorSpace::parse(&obj5,(Gfx*)this); } obj5.free(); if (obj4.dictLookup(const_cast("I"), &obj5)->isBool()) { @@ -1009,9 +1009,9 @@ state->setFillPattern(NULL); res->lookupColorSpace(args[0].getName(), &obj); if (obj.isNull()) { - colorSpace = GfxColorSpace::parse(&args[0]); + colorSpace = GfxColorSpace::parse(&args[0],(Gfx*)this); } else { - colorSpace = GfxColorSpace::parse(&obj); + colorSpace = GfxColorSpace::parse(&obj,(Gfx*)this); } obj.free(); if (colorSpace) { @@ -1032,9 +1032,9 @@ state->setStrokePattern(NULL); res->lookupColorSpace(args[0].getName(), &obj); if (obj.isNull()) { - colorSpace = GfxColorSpace::parse(&args[0]); + colorSpace = GfxColorSpace::parse(&args[0],(Gfx*)this); } else { - colorSpace = GfxColorSpace::parse(&obj); + colorSpace = GfxColorSpace::parse(&obj,(Gfx*)this); } obj.free(); if (colorSpace) { @@ -1101,7 +1101,7 @@ builder->updateStyle(state); } if (args[numArgs-1].isName() && - (pattern = res->lookupPattern(args[numArgs-1].getName()))) { + (pattern = res->lookupPattern(args[numArgs-1].getName(),(Gfx*)this))) { state->setFillPattern(pattern); builder->updateStyle(state); } @@ -1145,7 +1145,7 @@ builder->updateStyle(state); } if (args[numArgs-1].isName() && - (pattern = res->lookupPattern(args[numArgs-1].getName()))) { + (pattern = res->lookupPattern(args[numArgs-1].getName(),(Gfx*)this))) { state->setStrokePattern(pattern); builder->updateStyle(state); } @@ -1543,7 +1543,7 @@ double *matrix = NULL; GBool savedState = gFalse; - if (!(shading = res->lookupShading(args[0].getName()))) { + if (!(shading = res->lookupShading(args[0].getName(),(Gfx*)this))) { return; } @@ -2507,7 +2507,7 @@ } } if (!obj1.isNull()) { - colorSpace = GfxColorSpace::parse(&obj1); + colorSpace = GfxColorSpace::parse(&obj1,(Gfx*)this); } else if (csMode == streamCSDeviceGray) { colorSpace = new GfxDeviceGrayColorSpace(); } else if (csMode == streamCSDeviceRGB) { @@ -2592,7 +2592,7 @@ obj2.free(); } } - maskColorSpace = GfxColorSpace::parse(&obj1); + maskColorSpace = GfxColorSpace::parse(&obj1,(Gfx*)this); obj1.free(); if (!maskColorSpace || maskColorSpace->getMode() != csDeviceGray) { goto err1; @@ -2767,7 +2767,7 @@ 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,(Gfx*)this); } obj3.free(); if (obj1.dictLookup(const_cast("I"), &obj3)->isBool()) {