summaryrefslogtreecommitdiff
path: root/svx/source/svdraw/svdobj.cxx
diff options
context:
space:
mode:
authorJian Fang Zhang <zhangjf@apache.org>2012-06-18 12:26:30 +0000
committerEike Rathke <erack@redhat.com>2013-03-14 14:35:41 +0100
commitd6e752d5ebfaf66d1c9b0694f9c8582311d6151a (patch)
tree7c415ddf3e38ab62a1a4a38bc415b6782963fdaa /svx/source/svdraw/svdobj.cxx
parentb6e60d3eb5c21a98dfa86fde0bb695986058f463 (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.cxx5
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;
}