aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Reaction/UI/Controller.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Reaction/UI/Controller.pm')
-rw-r--r--lib/Reaction/UI/Controller.pm17
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/Reaction/UI/Controller.pm b/lib/Reaction/UI/Controller.pm
index e0e1423..fa9290f 100644
--- a/lib/Reaction/UI/Controller.pm
+++ b/lib/Reaction/UI/Controller.pm
@@ -1,14 +1,19 @@
package Reaction::UI::Controller;
-use base qw/Catalyst::Controller::BindLex Reaction::Object/;
+use base qw(
+ Catalyst::Controller
+ Catalyst::Component::ACCEPT_CONTEXT
+ Reaction::Object
+);
+
use Reaction::Class;
sub push_viewport {
my $self = shift;
- my $focus_stack :Stashed;
+ my $c = $self->context;
+ my $focus_stack = $c->stash->{focus_stack};
my ($class, @proto_args) = @_;
my %args;
- my $c = Catalyst::Controller::BindLex::_get_c_obj(4);
if (my $vp_attr = $c->stack->[-1]->attributes->{ViewPort}) {
if (ref($vp_attr) eq 'ARRAY') {
$vp_attr = $vp_attr->[0];
@@ -35,14 +40,12 @@ sub push_viewport {
}
sub pop_viewport {
- my $focus_stack :Stashed;
- return $focus_stack->pop_viewport;
+ return shift->context->stash->{focus_stack}->pop_viewport;
}
sub pop_viewports_to {
my ($self, $vp) = @_;
- my $focus_stack :Stashed;
- return $focus_stack->pop_viewports_to($vp);
+ return $self->context->stash->{focus_stack}->pop_viewports_to($vp);
}
sub redirect_to {