]> gitweb.factorcode.org Git - factor.git/commitdiff
ui: short-circuit layout-queued if deque is empty.
authorJohn Benediktsson <mrjbq7@gmail.com>
Wed, 1 Aug 2012 03:26:51 +0000 (20:26 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Wed, 1 Aug 2012 03:26:51 +0000 (20:26 -0700)
basis/ui/ui.factor

index 766d128c1fa314ff03407c0f6a310ab30b5efdfd..789ca71761efed875a31fba2e2821cebc33ff441 100644 (file)
@@ -114,13 +114,17 @@ M: world ungraft*
     dup hand-world get-global eq?
     [ hand-loc get-global swap move-hand ] [ drop ] if ;
 
-: layout-queued ( -- seq )
+: (layout-queued) ( deque -- seq )
     [
         in-layout? on
-        layout-queue [
+        [
             dup layout find-world [ , ] when*
         ] slurp-deque
-    ] { } make members ;
+    ] { } make members ; inline
+
+: layout-queued ( -- seq )
+    layout-queue dup deque-empty?
+    [ drop { } ] [ (layout-queued) ] if ;
 
 : redraw-worlds ( seq -- )
     [ dup update-hand draw-world ] each ;