summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--svx/source/unodraw/unoshape.cxx45
1 files changed, 12 insertions, 33 deletions
diff --git a/svx/source/unodraw/unoshape.cxx b/svx/source/unodraw/unoshape.cxx
index cb27ab065886..9eb3edfd5ab8 100644
--- a/svx/source/unodraw/unoshape.cxx
+++ b/svx/source/unodraw/unoshape.cxx
@@ -989,48 +989,27 @@ void SvxShape::Notify( SfxBroadcaster&, const SfxHint& rHint ) noexcept
return;
}
- bool bClearMe = false;
-
- switch( pSdrHint->GetKind() )
+ if (pSdrHint->GetKind() == SdrHintKind::ObjectChange)
{
- case SdrHintKind::ObjectChange:
- {
- updateShapeKind();
- break;
- }
- case SdrHintKind::ModelCleared:
- {
- bClearMe = true;
- break;
- }
- default:
- break;
- };
-
- if( !bClearMe )
- return;
-
- if(!HasSdrObjectOwnership())
+ updateShapeKind();
+ }
+ else // (pSdrHint->GetKind() == SdrHintKind::ModelCleared)
{
- if(nullptr != pSdrObject)
+ if(!HasSdrObjectOwnership())
{
EndListening(pSdrObject->getSdrModelFromSdrObject());
pSdrObject->setUnoShape(nullptr);
- }
- mpSdrObjectWeakReference.reset(nullptr);
+ mpSdrObjectWeakReference.reset(nullptr);
- // SdrModel *is* going down, try to Free SdrObject even
- // when !HasSdrObjectOwnership
- if(nullptr != pSdrObject && !pSdrObject->IsInserted())
- {
- SdrObject::Free(pSdrObject);
+ // SdrModel *is* going down, try to Free SdrObject even
+ // when !HasSdrObjectOwnership
+ if(!pSdrObject->IsInserted())
+ SdrObject::Free(pSdrObject);
}
- }
- if(!mpImpl->mbDisposing)
- {
- dispose();
+ if(!mpImpl->mbDisposing)
+ dispose();
}
}