[open-ils-commits] r12750 - trunk/Open-ILS/src/perlmods/OpenILS/Application/Trigger (erickson)

svn at svn.open-ils.org svn at svn.open-ils.org
Wed Apr 1 13:39:00 EDT 2009


Author: erickson
Date: 2009-04-01 13:38:57 -0400 (Wed, 01 Apr 2009)
New Revision: 12750

Modified:
   trunk/Open-ILS/src/perlmods/OpenILS/Application/Trigger/Event.pm
Log:
recursive calls to _object_by_path need their own copy of the path array so that sibling calls aren't left with an empty path

Modified: trunk/Open-ILS/src/perlmods/OpenILS/Application/Trigger/Event.pm
===================================================================
--- trunk/Open-ILS/src/perlmods/OpenILS/Application/Trigger/Event.pm	2009-04-01 16:16:15 UTC (rev 12749)
+++ trunk/Open-ILS/src/perlmods/OpenILS/Application/Trigger/Event.pm	2009-04-01 17:38:57 UTC (rev 12750)
@@ -410,7 +410,7 @@
     my $path = shift;
 
     my $step = shift(@$path);
-    
+
     my $fhint = Fieldmapper->publish_fieldmapper->{$context->class_name}{links}{$step}{class};
     my $fclass = $self->_fm_class_by_hint( $fhint );
 
@@ -453,7 +453,10 @@
             $obj_list = $obj;
         }
 
-        $self->_object_by_path( $_, $collector, $label, $path ) for (@$obj_list);
+        for (@$obj_list) {
+            my @path_clone = @$path;
+            $self->_object_by_path( $_, $collector, $label, \@path_clone );
+        }
 
         $obj = $$obj_list[0] if (!$multi || $rtype eq 'might_have');
         $context->$step( $obj ) if ($obj && (!$label || !@$label));



More information about the open-ils-commits mailing list