From c6df2125f698d6a2ba3af20a9cf868cd85c73946 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Wed, 13 Apr 2011 00:25:48 -0700 Subject: [PATCH] Fixed problem with callback not firing --- flight/Flight.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/flight/Flight.php b/flight/Flight.php index f5056ac..855a8d1 100644 --- a/flight/Flight.php +++ b/flight/Flight.php @@ -120,13 +120,15 @@ class Flight { if (isset(self::$classes[$name])) { list($class, $params, $callback) = self::$classes[$name]; + $do_callback = ($callback && (!$shared || !isset(self::$instances[$class]))); + $obj = ($shared) ? self::getInstance($class, $params) : self::getClass($class, $params); - if (!$shared || !isset(self::$instances[$class])) { + if ($do_callback) { $ref = array(&$obj); - if ($callback) self::execute($callback, $ref); + self::execute($callback, $ref); } return $obj;