diff --git a/models/DataObject/AbstractObject.php b/models/DataObject/AbstractObject.php index 4ba034c2993..ed8ba635873 100644 --- a/models/DataObject/AbstractObject.php +++ b/models/DataObject/AbstractObject.php @@ -590,12 +590,13 @@ public function save() $isUpdate = false; + $isDirtyDetectionDisabled = self::isDirtyDetectionDisabled(); $preEvent = new DataObjectEvent($this, $params); if ($this->getId()) { $isUpdate = true; \Pimcore::getEventDispatcher()->dispatch(DataObjectEvents::PRE_UPDATE, $preEvent); } else { - AbstractObject::disableDirtyDetection(); + self::disableDirtyDetection(); \Pimcore::getEventDispatcher()->dispatch(DataObjectEvents::PRE_ADD, $preEvent); } @@ -700,6 +701,7 @@ public function save() if ($isUpdate) { \Pimcore::getEventDispatcher()->dispatch(DataObjectEvents::POST_UPDATE, new DataObjectEvent($this)); } else { + self::setDisableDirtyDetection($isDirtyDetectionDisabled); \Pimcore::getEventDispatcher()->dispatch(DataObjectEvents::POST_ADD, new DataObjectEvent($this)); }