fix container loading logic (Class::MOP::load_class returns 1)
André Walker [Fri, 12 Aug 2011 03:03:14 +0000 (00:03 -0300)]
lib/Catalyst.pm

index c87bff2..979ca9f 100644 (file)
@@ -2269,10 +2269,15 @@ sub setup_config {
 
     my %args = %{ $class->config || {} };
 
-    my $container_class = exists $args{container_class}
-                        ? Class::MOP::load_class(delete $args{container_class})
-                        : Class::MOP::load_first_existing_class("${class}::Container", 'Catalyst::IOC::Container')
-                        ;
+    my $container_class;
+
+    if ( exists $args{container_class} ) {
+        $container_class = delete $args{container_class};
+        Class::MOP::load_class($container_class);
+    }
+    else {
+        $container_class = Class::MOP::load_first_existing_class("${class}::Container", 'Catalyst::IOC::Container');
+    }
 
     my $container = $container_class->new( %args, application_name => "$class", name => "$class" );
     $class->container($container);