X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FDispatcher.pm;h=d5c2aebedf4a88322de81512059b681e1b0afde0;hp=8cc07377baa2d4f16dc52c7719d8a76f248b10f6;hb=61cfdd57906b53df9ebfdecfc3481ffa14e74390;hpb=c462faf09f20b2fca60bb9c63bf30b158760aa2c diff --git a/lib/Catalyst/Dispatcher.pm b/lib/Catalyst/Dispatcher.pm index 8cc0737..d5c2aeb 100644 --- a/lib/Catalyst/Dispatcher.pm +++ b/lib/Catalyst/Dispatcher.pm @@ -61,14 +61,17 @@ sub dispatch { } # Execute the auto chain + my $auto = 0; for my $auto ( @{ $c->get_action( 'auto', $namespace ) } ) { $c->execute( @{ $auto->[0] } ); return if scalar @{ $c->error }; last unless $c->state; + $auto++; } # Execute the action or last default - if ( ( my $action = $c->req->action ) && $c->state ) { + my $mkay = $auto ? $c->state ? 1 : 0 : 1; + if ( ( my $action = $c->req->action ) && $mkay ) { if ( my $result = @{ $c->get_action( $action, $default ) }[-1] ) { $c->execute( @{ $result->[0] } ); }