diff --git a/basis/ui/gadgets/tracks/tracks.factor b/basis/ui/gadgets/tracks/tracks.factor index 387f41a6a4..89389485b2 100644 --- a/basis/ui/gadgets/tracks/tracks.factor +++ b/basis/ui/gadgets/tracks/tracks.factor @@ -39,7 +39,8 @@ TUPLE: track < pack sizes ; M: track layout* ( track -- ) dup track-layout pack-layout ; : track-pref-dims-1 ( track -- dim ) - children>> pref-dims max-dim ; + [ children>> pref-dims max-dim ] + [ pref-dim>> { 0 0 } or ] bi vmax ; : track-pref-dims-2 ( track -- dim ) [ diff --git a/basis/ui/gadgets/worlds/worlds.factor b/basis/ui/gadgets/worlds/worlds.factor index 8f38cee988..8378310253 100644 --- a/basis/ui/gadgets/worlds/worlds.factor +++ b/basis/ui/gadgets/worlds/worlds.factor @@ -50,7 +50,8 @@ TUPLE: world-attributes status gadgets { pixel-format-attributes initial: $ default-world-pixel-format-attributes } - { window-controls initial: $ default-world-window-controls } ; + { window-controls initial: $ default-world-window-controls } + pref-dim ; : ( -- world-attributes ) world-attributes new ; inline @@ -133,6 +134,7 @@ M: world request-focus-on ( child gadget -- ) [ initial-background-color >>background-color ] [ grab-input?>> >>grab-input? ] [ gadgets>> [ 1 track-add ] each ] + [ pref-dim>> >>pref-dim ] } cleave ; : ( world-attributes -- world )