]> gitweb.factorcode.org Git - factor.git/commitdiff
Make focusable-child* work even if world has no children, to clean up a code duplication
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Mon, 11 May 2009 22:04:32 +0000 (17:04 -0500)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Mon, 11 May 2009 22:04:32 +0000 (17:04 -0500)
basis/ui/gadgets/worlds/worlds.factor
extra/game-worlds/game-worlds.factor
extra/opengl/demo-support/demo-support.factor

index d85bba999215e2ab81dc3e41d6b14018795db719..af998c08b9ceb34a43e69523c2d80aa81da7c69f 100755 (executable)
@@ -101,7 +101,7 @@ M: world layout*
     [ call-next-method ]
     [ dup layers>> [ as-big-as-possible ] with each ] bi ;
 
-M: world focusable-child* gadget-child ;
+M: world focusable-child* children>> [ t ] [ first ] if-empty ;
 
 M: world children-on nip children>> ;
 
index fa6b326fa93c45e134ed91d7f583c1a7bf831828..c9ea03e3331a0b474a343a021d90f20199732d1a 100644 (file)
@@ -21,5 +21,3 @@ M: game-world end-world
     [ [ stop-loop ] when* f ] change-game-loop
     drop ;
 
-M: game-world focusable-child* drop t ;
-
index 8afbd52647e2e2ef68fa9af50a4c9e4f2d5d2f02..e627a745cdc5fa13f5fc4abb1b8f89e9edac5398 100755 (executable)
@@ -36,9 +36,6 @@ M: demo-world distance-step ( gadget -- dz )
 : zoom-demo-world ( distance gadget -- )
     [ + ] with change-distance relayout-1 ;
 
-M: demo-world focusable-child* ( world -- gadget )
-    drop t ;
-
 M: demo-world pref-dim* ( gadget -- dim )
     drop { 640 480 } ;