cppcanvas/source/inc/implrenderer.hxx | 6 +++++- cppcanvas/source/mtfrenderer/emfplus.cxx | 5 ----- cppcanvas/source/mtfrenderer/implrenderer.cxx | 3 +++ 3 files changed, 8 insertions(+), 6 deletions(-)
New commits: commit 569f6b41c6d7dcdcc65a2d6a75018a3266936532 Author: Thorsten Behrens <tbehr...@suse.com> Date: Wed May 8 20:37:45 2013 +0200 Don't leak all of the EMF+ graphic objects. Change-Id: I7951a9d25da5feec997dd0643f8579f5bcd0ee0f diff --git a/cppcanvas/source/inc/implrenderer.hxx b/cppcanvas/source/inc/implrenderer.hxx index addcdc2..79a2967 100644 --- a/cppcanvas/source/inc/implrenderer.hxx +++ b/cppcanvas/source/inc/implrenderer.hxx @@ -54,9 +54,13 @@ namespace cppcanvas { struct OutDevState; struct ActionFactoryParameters; - struct EMFPObject; struct XForm; + struct EMFPObject + { + virtual ~EMFPObject() {} + }; + // state stack of OutputDevice, to correctly handle // push/pop actions class VectorOfOutDevStates diff --git a/cppcanvas/source/mtfrenderer/emfplus.cxx b/cppcanvas/source/mtfrenderer/emfplus.cxx index 693a57c..c17c38e 100644 --- a/cppcanvas/source/mtfrenderer/emfplus.cxx +++ b/cppcanvas/source/mtfrenderer/emfplus.cxx @@ -110,11 +110,6 @@ namespace cppcanvas } #endif - struct EMFPObject - { - virtual ~EMFPObject() {} - }; - struct EMFPPath : public EMFPObject { ::basegfx::B2DPolyPolygon aPolygon; diff --git a/cppcanvas/source/mtfrenderer/implrenderer.cxx b/cppcanvas/source/mtfrenderer/implrenderer.cxx index 635a5fb..5bc99a5 100644 --- a/cppcanvas/source/mtfrenderer/implrenderer.cxx +++ b/cppcanvas/source/mtfrenderer/implrenderer.cxx @@ -3038,6 +3038,9 @@ namespace cppcanvas ImplRenderer::~ImplRenderer() { + // don't leak EMFPObjects + for(unsigned int i=0; i<SAL_N_ELEMENTS(aObjects); ++i) + delete aObjects[i]; } bool ImplRenderer::drawSubset( sal_Int32 nStartIndex, _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits