change DrRacket to aviod rebuilding some menus unnecessarily
This commit is contained in:
parent
cafc6d697e
commit
cd1fb5bea9
|
@ -3441,10 +3441,12 @@ module browser threading seems wrong.
|
||||||
(hash-set! capability-menu-items menu (cons this-one old-ones)))))
|
(hash-set! capability-menu-items menu (cons this-one old-ones)))))
|
||||||
|
|
||||||
(define/private (update-items/capability menu)
|
(define/private (update-items/capability menu)
|
||||||
(let ([new-items (begin '(get-items/capability menu)
|
(let* ([old-items (send menu get-items)]
|
||||||
(send menu get-items))])
|
[new-items (begin '(get-items/capability menu)
|
||||||
(for-each (λ (i) (send i delete)) (send menu get-items))
|
old-items)])
|
||||||
(for-each (λ (i) (send i restore)) new-items)))
|
(unless (equal? old-items new-items)
|
||||||
|
(for-each (λ (i) (send i delete)) old-items)
|
||||||
|
(for-each (λ (i) (send i restore)) new-items))))
|
||||||
(define/private (get-items/capability menu)
|
(define/private (get-items/capability menu)
|
||||||
(let loop ([capability-items (reverse (hash-ref capability-menu-items menu '()))]
|
(let loop ([capability-items (reverse (hash-ref capability-menu-items menu '()))]
|
||||||
[all-items (send menu get-items)]
|
[all-items (send menu get-items)]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user