diff options
author | Thorsten Behrens <tbehrens@suse.com> | 2013-05-08 20:37:45 +0200 |
---|---|---|
committer | Thorsten Behrens <tbehrens@suse.com> | 2013-05-08 20:50:09 +0200 |
commit | 569f6b41c6d7dcdcc65a2d6a75018a3266936532 (patch) | |
tree | 3818303c71f3f6a91369a8471dc4cf9319915002 /cppcanvas | |
parent | 6bd878b29f43179c396bcb1ee7c0b1038e90007c (diff) |
Don't leak all of the EMF+ graphic objects.
Change-Id: I7951a9d25da5feec997dd0643f8579f5bcd0ee0f
Diffstat (limited to 'cppcanvas')
-rw-r--r-- | cppcanvas/source/inc/implrenderer.hxx | 6 | ||||
-rw-r--r-- | cppcanvas/source/mtfrenderer/emfplus.cxx | 5 | ||||
-rw-r--r-- | cppcanvas/source/mtfrenderer/implrenderer.cxx | 3 |
3 files changed, 8 insertions, 6 deletions
diff --git a/cppcanvas/source/inc/implrenderer.hxx b/cppcanvas/source/inc/implrenderer.hxx index addcdc2f15b1..79a2967f88d6 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 693a57c2e91b..c17c38e9eaa8 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 635a5fb3e440..5bc99a529a41 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, |