]> gitweb.factorcode.org Git - factor.git/commitdiff
Fix out of bounds error when computing pref-dim of track where some of the components...
authorslava <slava@factorcode.org>
Fri, 10 Nov 2006 22:01:19 +0000 (22:01 +0000)
committerslava <slava@factorcode.org>
Fri, 10 Nov 2006 22:01:19 +0000 (22:01 +0000)
library/ui/gadgets/incremental.factor
library/ui/gadgets/tracks.factor
library/ui/test/tracks.factor

index ddaae930fc9a9049561b4019670571019435d32d..a06d14d62c5639f69b6614fc3ca2fe327fd1815b 100644 (file)
@@ -28,7 +28,7 @@ M: incremental pref-dim*
     [
         swap rect-dim swap incremental-cursor
         2dup v+ >r vmax r>
-    ] keep  gadget-orientation set-axis ;
+    ] keep gadget-orientation set-axis ;
 
 : update-cursor ( gadget incremental -- )
     [ next-cursor ] keep set-incremental-cursor ;
index 369e3c9bfff1b5b44dc1abdd4f79da901f4fb3ac..80855da8ab0dbe12d907a01e9fb3842b825251fd 100644 (file)
@@ -35,8 +35,8 @@ C: track ( orientation -- track )
 M: track layout*
     dup track-layout pack-layout ;
 
-: track-pref-dims ( dims sizes -- dims )
-    [ [ dup zero? [ nip ] [ v/n ] if ] 2map max-dim ] keep
+: track-pref-dims ( dims sizes -- dim )
+    [ [ dup zero? [ drop ] [ v/n ] if ] 2map max-dim ] keep
     divider-sizes v+ [ >fixnum ] map ;
 
 M: track pref-dim*
index d4d18b8066111e4747b30fb08a7ea37d28b35037..1537b95d27670d3d874213d8bde0ee4b02423be4 100644 (file)
@@ -46,3 +46,10 @@ sequences ;
 
 [ V{ { 100 200 } { 100 8 } { 100 100 } { 100 8 } { 100 100 } } ]
 [ "track" get gadget-children [ rect-dim ] map ] unit-test
+
+{
+    { [ <gadget> ] f f 0 }
+    { [ <gadget> ] f f 1 }
+} { 0 1 } make-track "track" set
+
+[ { 0 8 } ] [ "track" get pref-dim ] unit-test