diff --git a/collects/framework/private/frame.ss b/collects/framework/private/frame.ss index b07f779714..e1db4bb9ab 100644 --- a/collects/framework/private/frame.ss +++ b/collects/framework/private/frame.ss @@ -2096,17 +2096,14 @@ (send (send find-edit get-canvas) focus)))) (define/public (unhide-search-and-toggle-focus) - (cond - [hidden? - (unhide-search #t)] - [(or (not text-to-search) - (send (send text-to-search get-canvas) has-focus?)) - (send find-edit set-position 0 (send find-edit last-position)) - (send find-canvas focus)] - [else - (let ([canvas (send text-to-search get-canvas)]) - (when canvas - (send canvas focus)))])) + (if hidden? + (unhide-search #t) + (let ([canvas (and text-to-search (send text-to-search get-canvas))]) + (cond + [(or (not text-to-search) (and canvas (send canvas has-focus?))) + (send find-edit set-position 0 (send find-edit last-position)) + (send find-canvas focus)] + [canvas (send canvas focus)])))) (define/public (search searching-direction) (unhide-search #f)