diff --git a/collects/framework/editor.ss b/collects/framework/editor.ss index b9fc4b64..8388c1e6 100644 --- a/collects/framework/editor.ss +++ b/collects/framework/editor.ss @@ -21,7 +21,6 @@ local-edit-sequence? run-after-edit-sequence get-top-level-window - locked? on-close save-file-out-of-date?)) @@ -202,16 +201,7 @@ (hash-table-for-each ht (lambda (k t) (t))) (for-each (lambda (t) (t)) queue)]))))]) - (rename [super-lock lock]) - (private - [is-locked? #f]) - (public - [locked? (lambda () is-locked?)]) (override - [lock - (lambda (x) - (set! is-locked? x) - (super-lock x))] [on-new-box (lambda (type) (cond diff --git a/collects/framework/frame.ss b/collects/framework/frame.ss index f7129ffc..faa4bf46 100644 --- a/collects/framework/frame.ss +++ b/collects/framework/frame.ss @@ -243,7 +243,7 @@ (public [lock-status-changed - (let ([icon-currently-locked? #f]) + (let ([icon-currently-locked? 'uninit]) (lambda () (let ([info-edit (get-info-editor)]) (cond @@ -251,8 +251,8 @@ (void)] [info-edit (unless (send lock-message is-shown?) - (send lock-message show #t)) - (let ([locked-now? (ivar info-edit locked?)]) + (send lock-message show #t)) + (let ([locked-now? (send info-edit is-locked?)]) (unless (eq? locked-now? icon-currently-locked?) (set! icon-currently-locked? locked-now?) (let ([label @@ -262,12 +262,12 @@ (when (object? lock-message) (send lock-message set-label - (if (send label ok?) + (if (and (object? label) (send label ok?)) label (if locked-now? "Locked" "Unlocked")))))))] [else (when (send lock-message is-shown?) - (send lock-message show #f))]))))]) + (send lock-message show #f))]))))]) (public [update-info (lambda () @@ -313,7 +313,7 @@ (private [lock-message (make-object message% (let ([b (icon:get-unlock-bitmap)]) - (if (and #f (send b ok?)) + (if (send b ok?) b "Unlocked")) (get-info-panel))]