diff options
author | Thorsten Behrens <tbehrens@suse.com> | 2013-05-08 20:37:45 +0200 |
---|---|---|
committer | Thorsten Behrens <tbehrens@suse.com> | 2013-05-15 11:22:29 +0200 |
commit | 5ce2944df838fca58808c34dd035a7318dfc1b90 (patch) | |
tree | 99122632ba1d521a9112cfd911ca113485be26cb /cppcanvas | |
parent | 87018a47b879bdf942e4ac4124a161aab928806d (diff) |
Don't leak all of the EMF+ graphic objects.
Change-Id: I7951a9d25da5feec997dd0643f8579f5bcd0ee0f
(cherry picked from commit 569f6b41c6d7dcdcc65a2d6a75018a3266936532)
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 453736825e9b..4d5918bd4609 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 2c80e1d99b78..4c0aca695fc7 100644 --- a/cppcanvas/source/mtfrenderer/emfplus.cxx +++ b/cppcanvas/source/mtfrenderer/emfplus.cxx @@ -117,11 +117,6 @@ namespace cppcanvas s.Seek (pos); }); - 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 1f3872bba33e..5d697bbb3ecc 100644 --- a/cppcanvas/source/mtfrenderer/implrenderer.cxx +++ b/cppcanvas/source/mtfrenderer/implrenderer.cxx @@ -3044,6 +3044,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, |