From 3ad7c4589079c7222fc6a0aabb386ae55bd31036 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20Nicolaysen=20S=C3=B8rnes?= Date: Mon, 17 Dec 2007 19:29:34 +0100 Subject: [PATCH] objectManager: Prevent possible problems when moving child objects --- include/objectManager.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/objectManager.php b/include/objectManager.php index 066e561..55d1c75 100644 --- a/include/objectManager.php +++ b/include/objectManager.php @@ -30,6 +30,13 @@ class ObjectManager // queued entries private $aCommonResponses; + /* Remove the cached object of the class we are working with, useful in cases where we + modify the object in such a way that it needs to be reloaded */ + private function flushCachedObject() + { + $this->oObject = null; + } + /* Get an instance of the object of the class we are working with */ private function getObject() { @@ -836,6 +843,9 @@ class ObjectManager $iAffected = $oObject->objectMoveChildren($iNewId); + /* Some classes record the id of their child objects, so we shouldn't keep an old instance around */ + $this->flushCachedObject(); + if($iAffected) { $sPlural = ($iAffected == 1) ? "": "s";