make the behavior of sort_by_spec more predictable and a default order on empty spec
groditi [Sat, 11 Oct 2008 20:42:31 +0000 (20:42 +0000)]
lib/Reaction/UI/ViewPort.pm

index c89e2e9..d39a108 100644 (file)
@@ -121,14 +121,15 @@ sub event_id_for {
 
 sub sort_by_spec {
   my ($self, $spec, $items) = @_;
-  return $items if not defined $spec;
+  return [@$items] if not defined $spec;
 
   my @order;
   if (ref $spec eq 'ARRAY') {
+    return [sort @$items] unless @$spec;
     @order = @$spec;
   }
   elsif (not ref $spec) {
-    return $items unless length $spec;
+    return [@$items] unless length $spec;
     @order = split /\s+/, $spec;
   }