Use delete-node instead of dlist-delete
parent
f98dbbbe74
commit
59731ee24a
|
@ -46,7 +46,7 @@ M: array rect-dim drop { 0 0 } ;
|
||||||
|
|
||||||
TUPLE: gadget
|
TUPLE: gadget
|
||||||
pref-dim parent children orientation focus
|
pref-dim parent children orientation focus
|
||||||
visible? root? clipped? layout-state graft-state
|
visible? root? clipped? layout-state graft-state graft-node
|
||||||
interior boundary
|
interior boundary
|
||||||
model ;
|
model ;
|
||||||
|
|
||||||
|
@ -254,17 +254,20 @@ M: gadget layout* drop ;
|
||||||
: graft-queue \ graft-queue get ;
|
: graft-queue \ graft-queue get ;
|
||||||
|
|
||||||
: unqueue-graft ( gadget -- )
|
: unqueue-graft ( gadget -- )
|
||||||
dup graft-queue dlist-delete [ "Not queued" throw ] unless
|
graft-queue over gadget-graft-node delete-node
|
||||||
dup gadget-graft-state first { t t } { f f } ?
|
dup gadget-graft-state first { t t } { f f } ?
|
||||||
swap set-gadget-graft-state ;
|
swap set-gadget-graft-state ;
|
||||||
|
|
||||||
|
: (queue-graft) ( gadget flags -- )
|
||||||
|
over set-gadget-graft-state
|
||||||
|
dup graft-queue push-front* swap set-gadget-graft-node
|
||||||
|
notify-ui-thread ;
|
||||||
|
|
||||||
: queue-graft ( gadget -- )
|
: queue-graft ( gadget -- )
|
||||||
{ f t } over set-gadget-graft-state
|
{ f t } (queue-graft) ;
|
||||||
graft-queue push-front notify-ui-thread ;
|
|
||||||
|
|
||||||
: queue-ungraft ( gadget -- )
|
: queue-ungraft ( gadget -- )
|
||||||
{ t f } over set-gadget-graft-state
|
{ t f } (queue-graft) ;
|
||||||
graft-queue push-front notify-ui-thread ;
|
|
||||||
|
|
||||||
: graft-later ( gadget -- )
|
: graft-later ( gadget -- )
|
||||||
dup gadget-graft-state {
|
dup gadget-graft-state {
|
||||||
|
|
Loading…
Reference in New Issue