[Catalyst-commits] r6432 -
trunk/Catalyst-Engine-Wx/lib/Catalyst/View
eriam at dev.catalyst.perl.org
eriam at dev.catalyst.perl.org
Sun May 27 12:55:28 GMT 2007
Author: eriam
Date: 2007-05-27 12:55:28 +0100 (Sun, 27 May 2007)
New Revision: 6432
Modified:
trunk/Catalyst-Engine-Wx/lib/Catalyst/View/Wx.pm
Log:
Added a flag to make sure each view is displayed only once.
Modified: trunk/Catalyst-Engine-Wx/lib/Catalyst/View/Wx.pm
===================================================================
--- trunk/Catalyst-Engine-Wx/lib/Catalyst/View/Wx.pm 2007-05-24 21:44:17 UTC (rev 6431)
+++ trunk/Catalyst-Engine-Wx/lib/Catalyst/View/Wx.pm 2007-05-27 11:55:28 UTC (rev 6432)
@@ -2,6 +2,7 @@
use warnings;
use strict;
+no strict 'refs';
use base qw/Catalyst::View/;
@@ -35,23 +36,28 @@
sub process {
my ($self, $c) = @_;
- my $module = $c->stash->{class} || $c->action;
- $module =~ s/\//::/g;
+ $c->stash->{'_displayed'} ||= 0;
- if (defined $self->config->{NAMESPACE}) {
- $module = $self->config->{NAMESPACE}.'::'.$module;
- }
+ if ($c->stash->{'_displayed'} != 1) {
+
+ my $module = $c->stash->{class} || $c->action;
+ $module =~ s/\//::/g;
+
+ if (defined $self->config->{NAMESPACE}) {
+ $module = $self->config->{NAMESPACE}.'::'.$module;
+ }
+
+ unless (Class::Inspector->loaded($module)) {
+ require Class::Inspector->filename($module);
+ }
+
+ if (my $code = $module->can('new')) {
+ $code->($module, @_);
+ }
- unless (Class::Inspector->loaded($module)) {
- require Class::Inspector->filename($module);
+ $c->stash->{'_displayed'} = 1;
}
-
- if (my $code = $module->can('new') ) {
- $code->($module, @_);
- }
-
-# $c->stash->{_displayed} = 1;
- return 1;
+ return;
}
sub DESTROY {
More information about the Catalyst-commits
mailing list