X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FPlugin%2FSession.pm;h=080420bc7e4d5ef131ba148850e2266ba19984b2;hb=23fbca00c11e358ef8e25aab6931e60934a9442c;hp=f306997dfa53f23f255df51099753de22e948b18;hpb=4ccdbb079a08620a8a2979197786fffe2a09cb3f;p=catagits%2FCatalyst-Plugin-Session.git diff --git a/lib/Catalyst/Plugin/Session.pm b/lib/Catalyst/Plugin/Session.pm index f306997..080420b 100644 --- a/lib/Catalyst/Plugin/Session.pm +++ b/lib/Catalyst/Plugin/Session.pm @@ -120,15 +120,15 @@ sub _save_flash { my $c = shift; if ( my $sid = $c->_sessionid ) { - my $flash_data = $c->_flash || {}; + if ( my $flash_data = $c->_flash ) { + delete @{$flash_data}{ @{ $c->_flash_stale_keys || [] } }; - delete @{$flash_data}{ @{ $c->_flash_stale_keys || [] } }; - - if (%$flash_data) { # damn 'my' declarations - $c->store_session_data( "flash:$sid", $flash_data ); - } - else { - $c->delete_session_data("flash:$sid"); + if (%$flash_data) { + $c->store_session_data( "flash:$sid", $flash_data ); + } + else { + $c->delete_session_data("flash:$sid"); + } } } }