call only the closes default and reverse end calls
Christian Hansen [Wed, 30 Mar 2005 14:16:06 +0000 (14:16 +0000)]
lib/Catalyst/Engine.pm

index 8d84e85..ba926cb 100644 (file)
@@ -373,11 +373,11 @@ sub handler ($$) {
                 for my $begin ( @{ $c->get_action( 'begin', $namespace ) } ) {
                     $c->state( $c->execute( @{ $begin->[0] } ) );
                 }
-                for my $result ( @{ $c->get_action( $action, $default ) } ) {
+                for my $result ( @{ $c->get_action( $action, $default ) }[-1] ) {
                     $c->state( $c->execute( @{ $result->[0] } ) );
                     last unless $default;
                 }
-                for my $end ( @{ $c->get_action( 'end', $namespace ) } ) {
+                for my $end ( reverse @{ $c->get_action( 'end', $namespace ) } ) {
                     $c->state( $c->execute( @{ $end->[0] } ) );
                 }
             }