summaryrefslogtreecommitdiff
path: root/sd/source/ui/unoidl/unopage.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/ui/unoidl/unopage.cxx')
-rw-r--r--sd/source/ui/unoidl/unopage.cxx10
1 files changed, 9 insertions, 1 deletions
diff --git a/sd/source/ui/unoidl/unopage.cxx b/sd/source/ui/unoidl/unopage.cxx
index 8dbb921d1549..f7f1ecca7402 100644
--- a/sd/source/ui/unoidl/unopage.cxx
+++ b/sd/source/ui/unoidl/unopage.cxx
@@ -624,7 +624,15 @@ void SAL_CALL SdGenericDrawPage::setPropertyValue( const OUString& aPropertyName
if(pCustomShape)
{
- pCustomShape->setUnoShape(nullptr);
+ // tdf#96522 do not reset UNO API implementation since e.g. the
+ // animation evtl. added to the object uses weak references and
+ // will be lost when resetting it. In that sense it is *not* a
+ // on-demand recreatable ressource.
+ // Luckily, the object causing problems in tdf#93994 is not the
+ // UNO API object, but the XCustomShapeEngine involved. This
+ // object is on-demand replacable and can be reset here. This
+ // will free the involved EditEngine and VirtualDevice.
+ pCustomShape->mxCustomShapeEngine.set(nullptr);
}
}