Index: branches/unlabeled/unlabeled-1.12.10/core/kernel/utility/factory.php =================================================================== diff -u -N -r4356 -r4375 --- branches/unlabeled/unlabeled-1.12.10/core/kernel/utility/factory.php (.../factory.php) (revision 4356) +++ branches/unlabeled/unlabeled-1.12.10/core/kernel/utility/factory.php (.../factory.php) (revision 4375) @@ -238,12 +238,14 @@ */ function registerDependency($depended_class, $class_name) { + $dependencies =& $this->Dependencies[$depended_class]; + $conditions = Array(); - $conditions['exists'] = in_array($this->realClasses[$class_name], $this->Dependencies[$depended_class]); + $conditions['exists'] = is_array($dependencies) && in_array($this->realClasses[$class_name], $dependencies); $conditions['same_class'] = $this->realClasses[$class_name] == $depended_class; if (!$conditions['exists'] && !$conditions['same_class']) { - $this->Dependencies[$depended_class][] = $this->realClasses[$class_name]; + $dependencies[] = $this->realClasses[$class_name]; } } }