summaryrefslogtreecommitdiff
path: root/svx/source/dialog/dlgctl3d.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/dialog/dlgctl3d.cxx')
-rw-r--r--svx/source/dialog/dlgctl3d.cxx9
1 files changed, 6 insertions, 3 deletions
diff --git a/svx/source/dialog/dlgctl3d.cxx b/svx/source/dialog/dlgctl3d.cxx
index 22bb53ba2d18..7388d98f3eaf 100644
--- a/svx/source/dialog/dlgctl3d.cxx
+++ b/svx/source/dialog/dlgctl3d.cxx
@@ -195,8 +195,9 @@ void Svx3DPreviewControl::SetObjectType(SvxPreviewObjectType nType)
{
aSet.Put(mp3DObj->GetMergedItemSet());
mpScene->Remove3DObj( mp3DObj );
- delete mp3DObj;
- mp3DObj = nullptr;
+ // always use SdrObject::Free(...) for SdrObjects (!)
+ SdrObject* pTemp(mp3DObj);
+ SdrObject::Free(pTemp);
}
switch( nType )
@@ -375,7 +376,9 @@ void Svx3DLightControl::ConstructLightObjects()
if(maLightObjects[a])
{
mpScene->Remove3DObj(maLightObjects[a]);
- delete maLightObjects[a];
+ // always use SdrObject::Free(...) for SdrObjects (!)
+ SdrObject* pTemp(maLightObjects[a]);
+ SdrObject::Free(pTemp);
maLightObjects[a] = nullptr;
}