Author: alg Date: Tue Feb 18 16:37:20 2014 New Revision: 1569417 URL: http://svn.apache.org/r1569417 Log: i124073 choose a more compiler-independent way of construction
Modified: openoffice/trunk/main/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx Modified: openoffice/trunk/main/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx?rev=1569417&r1=1569416&r2=1569417&view=diff ============================================================================== --- openoffice/trunk/main/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx (original) +++ openoffice/trunk/main/drawinglayer/source/primitive2d/graphicprimitivehelper2d.cxx Tue Feb 18 16:37:20 2014 @@ -759,9 +759,23 @@ namespace drawinglayer basegfx::B2DPolygon aMaskPolygon(basegfx::tools::createUnitPolygon()); aMaskPolygon.transform(rTransform); - aRetval[0] = new MaskPrimitive2D( + // #124073# the clde below was compiler-dependent. Normally, + // a compiler will + // - alloc mem + // - ececute the constructor + // - do the assignment + // but the mac compiler does alloc-assign-constructor, thus + // modifying aRetval[0] befure aRetval gets used in the + // constructor. This creates an endless loop in the primitive + // stack. Thus do it the safe way. + // + // aRetval[0] = new MaskPrimitive2D( + // basegfx::B2DPolyPolygon(aMaskPolygon), + // aRetval); + MaskPrimitive2D* pMaskPrimitive2D = new MaskPrimitive2D( basegfx::B2DPolyPolygon(aMaskPolygon), aRetval); + aRetval[0] = pMaskPrimitive2D; } #ifdef USE_DEBUG_CODE_TO_TEST_METAFILE_DECOMPOSE }