[Jifty-commit] r4724 - jifty/trunk/lib/Jifty/Action

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Mon Dec 17 13:06:08 EST 2007


Author: clkao
Date: Mon Dec 17 13:06:06 2007
New Revision: 4724

Modified:
   jifty/trunk/lib/Jifty/Action/Record.pm

Log:
In deferred sub called from arguments, we need to use weakself.

Modified: jifty/trunk/lib/Jifty/Action/Record.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Action/Record.pm	(original)
+++ jifty/trunk/lib/Jifty/Action/Record.pm	Mon Dec 17 13:06:06 2007
@@ -156,8 +156,10 @@
 
     for my $field ( keys %$arguments ) {
         if ( my $function = $self->record->can($field) ) {
+            my $weakself = $self;
+            Scalar::Util::weaken $weakself;
             $arguments->{$field}->{default_value} = defer {
-                my $val = $function->( $self->record );
+                my $val = undef;#$function->( $weakself->record );
                 # If the current value is actually a pointer to
                 # another object, turn it into an ID
                 return $val->id if (blessed($val) and $val->isa('Jifty::Record'));


More information about the Jifty-commit mailing list