- freeing options when root-manager has finished
- fixed a bug in create-workspace-manager causing a non-tail-recursive loop
This commit is contained in:
parent
199ec6a3d5
commit
5a7f8761c3
|
@ -94,7 +94,8 @@
|
|||
(lambda (msg)
|
||||
(handle-message root-wm exit msg))))
|
||||
(loop))))
|
||||
(sync-point-release (root-wm:finish root-wm))))))
|
||||
(sync-point-release (root-wm:finish root-wm))))
|
||||
(free-options options #t)))
|
||||
root-wm))
|
||||
|
||||
(define (create-workspace-manager in-channel dpy parent options)
|
||||
|
@ -427,8 +428,7 @@
|
|||
(let loop ()
|
||||
(let ((e (receive event-channel)))
|
||||
(cond
|
||||
((destroy-window-event? e)
|
||||
(remove-manager! root-wm manager))
|
||||
((destroy-window-event? e) 'done)
|
||||
((eq? (event-type focus-in) (any-event-type e))
|
||||
(let ((mode (focus-change-event-mode e))
|
||||
(detail (focus-change-event-detail e)))
|
||||
|
@ -439,8 +439,8 @@
|
|||
(send (root-wm:in-channel root-wm)
|
||||
(list 'manager-focused manager))))
|
||||
(loop))
|
||||
(else (loop))))
|
||||
(loop)))))))
|
||||
(else (loop)))))))
|
||||
(remove-manager! root-wm manager))))
|
||||
|
||||
(define (remove-manager! root-wm manager)
|
||||
(set-root-wm:managers! root-wm
|
||||
|
|
Loading…
Reference in New Issue