Lines 2914-2930
Link Here
|
2914 |
} |
2914 |
} |
2915 |
|
2915 |
|
2916 |
/** only for internal use! */ |
2916 |
/** only for internal use! */ |
2917 |
SvxShape* SdrObject::getSvxShape() const |
2917 |
SvxShape* SdrObject::getSvxShape() |
2918 |
{ |
2918 |
{ |
2919 |
DBG_TESTSOLARMUTEX(); |
2919 |
DBG_TESTSOLARMUTEX(); |
2920 |
// retrieving the impl pointer and subsequently using it is not thread-safe, of course, so it needs to be |
2920 |
// retrieving the impl pointer and subsequently using it is not thread-safe, of course, so it needs to be |
2921 |
// guarded by the SolarMutex |
2921 |
// guarded by the SolarMutex |
2922 |
|
2922 |
|
2923 |
#if OSL_DEBUG_LEVE > 0 |
|
|
2924 |
uno::Reference< uno::XInterface > xShape( maWeakUnoShape ); |
2923 |
uno::Reference< uno::XInterface > xShape( maWeakUnoShape ); |
2925 |
OSL_ENSURE( !( !xShapeGuard.is() && mpSvxShape ), |
2924 |
#if OSL_DEBUG_LEVE > 0 |
|
|
2925 |
OSL_ENSURE( !( !xShape.is() && mpSvxShape ), |
2926 |
"SdrObject::getSvxShape: still having IMPL-Pointer to dead object!" ); |
2926 |
"SdrObject::getSvxShape: still having IMPL-Pointer to dead object!" ); |
2927 |
#endif |
2927 |
#endif |
|
|
2928 |
//#113608#, make sure mpSvxShape is always synchronized with maWeakUnoShape |
2929 |
if ( mpSvxShape && !xShape.is() ) |
2930 |
mpSvxShape = NULL; |
2928 |
|
2931 |
|
2929 |
return mpSvxShape; |
2932 |
return mpSvxShape; |
2930 |
} |
2933 |
} |