diff options
author | Jian Fang Zhang <zhangjf@apache.org> | 2012-06-18 12:26:30 +0000 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2013-03-14 14:35:41 +0100 |
commit | d6e752d5ebfaf66d1c9b0694f9c8582311d6151a (patch) | |
tree | 7c415ddf3e38ab62a1a4a38bc415b6782963fdaa /svx/source/svdraw/svdobj.cxx | |
parent | b6e60d3eb5c21a98dfa86fde0bb695986058f463 (diff) |
i#113608#, memory leak in animations: newly exposed crashed problem
Patch by: zhangjf
Review by: Andre Fischer
Conflicts:
animations/source/animcore/animcore.cxx
svx/source/svdraw/svdobj.cxx
Change-Id: I305d5d92d064265edf108a5a34c948c610b4fdc1
Diffstat (limited to 'svx/source/svdraw/svdobj.cxx')
-rw-r--r-- | svx/source/svdraw/svdobj.cxx | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx index e35c9940fc0b..1e52b4f77a06 100644 --- a/svx/source/svdraw/svdobj.cxx +++ b/svx/source/svdraw/svdobj.cxx @@ -2963,7 +2963,7 @@ void SdrObject::impl_setUnoShape( const uno::Reference< uno::XInterface >& _rxUn } /** only for internal use! */ -SvxShape* SdrObject::getSvxShape() const +SvxShape* SdrObject::getSvxShape() { DBG_TESTSOLARMUTEX(); // retrieving the impl pointer and subsequently using it is not thread-safe, of course, so it needs to be @@ -2974,6 +2974,9 @@ SvxShape* SdrObject::getSvxShape() const OSL_ENSURE( !( !xShape.is() && mpSvxShape ), "SdrObject::getSvxShape: still having IMPL-Pointer to dead object!" ); #endif + //#113608#, make sure mpSvxShape is always synchronized with maWeakUnoShape + if ( mpSvxShape && !xShape.is() ) + mpSvxShape = NULL; return mpSvxShape; } |