X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst.pm;h=928799950ee0f6f2ce11f68d5bd5b886e7663190;hb=d81c3c197434927a3efbe6c7744cc5e9e21de416;hp=bdb37bf7934447e3689e0a10e36f1ff3132f6074;hpb=0aafa77a0d7f5ab78c2a56ad589ede07885afe51;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index bdb37bf..9287999 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -2626,12 +2626,19 @@ sub setup_engine { if ($ENV{MOD_PERL}) { my $apache = $class->engine_loader->auto; - # FIXME - Immutable - $class->meta->add_method(handler => sub { + + my $meta = find_meta($class); + my $was_immutable = $meta->is_immutable; + my %immutable_options = $meta->immutable_options; + $meta->make_mutable if $was_immutable; + + $meta->add_method(handler => sub { my $r = shift; my $psgi_app = $class->psgi_app; $apache->call_app($r, $psgi_app); }); + + $meta->make_immutable(%immutable_options) if $was_immutable; } $class->engine( $engine->new );