diff --git a/CHANGELOG.md b/CHANGELOG.md index e5a896fda..ee3b8604f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ * Fixed path traversal vulnerability when using `bin/grav server` * Fixed unescaped error messages in JSON error responses * Fixed `|t(variable)` twig filter in admin + * Fixed `FlexObject::getChanges()` always returning empty array # v1.7.24 ## 10/26/2021 diff --git a/system/src/Grav/Framework/Flex/FlexObject.php b/system/src/Grav/Framework/Flex/FlexObject.php index 945f5adfe..f5949ec49 100644 --- a/system/src/Grav/Framework/Flex/FlexObject.php +++ b/system/src/Grav/Framework/Flex/FlexObject.php @@ -666,8 +666,10 @@ class FlexObject implements FlexObjectInterface, FlexAuthorizeInterface } // Store the changes - $this->_original = $this->getElements(); - $this->_changes = Utils::arrayDiffMultidimensional($this->_original, $elements); + if ($this->_original === null) { + $this->_original = $elements; + } + $this->_changes = Utils::arrayDiffMultidimensional($this->_original, $this->getElements()); } if ($files && method_exists($this, 'setUpdatedMedia')) {