Fix stack leaks in X11 backend
parent
b0334b14a2
commit
ce5a7fb58f
|
@ -26,8 +26,8 @@ USING: alien generic hashtables kernel lists math sequences ;
|
|||
#! gesture, otherwise returns f.
|
||||
[ dupd handle-gesture* ] each-parent nip ;
|
||||
|
||||
: user-input ( str gadget -- ? )
|
||||
[ dupd user-input* ] each-parent nip ;
|
||||
: user-input ( str gadget -- )
|
||||
[ dupd user-input* ] each-parent 2drop ;
|
||||
|
||||
! Mouse gestures are lists where the first element is one of:
|
||||
SYMBOL: motion
|
||||
|
|
|
@ -128,8 +128,8 @@ V{ } clone hand-buttons set-global
|
|||
|
||||
: ui-step ( -- )
|
||||
do-timers
|
||||
[ layout-queued ] make-hash
|
||||
[ nip dup world-handle [ draw-world ] when ] hash-each
|
||||
[ layout-queued ] make-hash hash-values
|
||||
[ dup world-handle [ draw-world ] [ drop ] if ] each
|
||||
10 sleep ;
|
||||
|
||||
: close-world ( world -- )
|
||||
|
|
|
@ -13,6 +13,8 @@ sequences ;
|
|||
{ "Documentation" [ [ handbook ] in-browser ] }
|
||||
{ "Tutorial" [ [ tutorial ] in-browser ] }
|
||||
{ "Vocabularies" [ [ vocabs. ] in-browser ] }
|
||||
{ "Globals" [ [ global describe ] in-browser ] }
|
||||
{ "Memory" [ [ heap-stats. terpri room. ] in-browser ] }
|
||||
{ "Save image" [ save ] }
|
||||
{ "Exit" [ 0 exit ] }
|
||||
} <launchpad> ;
|
||||
|
|
|
@ -50,4 +50,4 @@ M: world find-world ;
|
|||
world-focus parents reverse-slice ;
|
||||
|
||||
: simple-window ( gadget title -- )
|
||||
>r f over pref-dim r> in-window ;
|
||||
>r f over pref-dim { 800 800 0 } vmin r> in-window ;
|
||||
|
|
|
@ -72,9 +72,9 @@ M: world motion-event ( event world -- )
|
|||
M: world key-down-event ( event world -- )
|
||||
world-focus over event>gesture [
|
||||
over handle-gesture
|
||||
[ over lookup-string nip swap user-input ] [ 2drop ] if
|
||||
[ swap lookup-string nip swap user-input ] [ 2drop ] if
|
||||
] [
|
||||
drop
|
||||
2drop
|
||||
] if* ;
|
||||
|
||||
M: world key-up-event ( event world -- ) 2drop ;
|
||||
|
|
|
@ -26,9 +26,11 @@ SYMBOL: root
|
|||
dpy get XDefaultScreen scr set
|
||||
dpy get scr get XRootWindow root set ;
|
||||
|
||||
: close-x ( -- ) dpy get XCloseDisplay drop ;
|
||||
|
||||
: with-x ( display-string quot -- )
|
||||
[
|
||||
H{ } clone windows set
|
||||
swap initialize-x
|
||||
call
|
||||
[ close-x ] cleanup
|
||||
] with-scope ;
|
||||
|
|
Loading…
Reference in New Issue