diff --git a/src/renderer/src/components/browser-pane/BrowserAddressBar.tsx b/src/renderer/src/components/browser-pane/BrowserAddressBar.tsx index 8e1e1654b76..8d14b8d6bd1 100644 --- a/src/renderer/src/components/browser-pane/BrowserAddressBar.tsx +++ b/src/renderer/src/components/browser-pane/BrowserAddressBar.tsx @@ -71,17 +71,26 @@ export default function BrowserAddressBar({ const blurCloseTimerRef = useRef(null) const closingResetTimerRef = useRef(null) - useEffect(() => { - return () => { - if (blurCloseTimerRef.current !== null) { - window.clearTimeout(blurCloseTimerRef.current) - } - if (closingResetTimerRef.current !== null) { - window.clearTimeout(closingResetTimerRef.current) - } + const clearAddressBarTimers = useCallback((): void => { + if (blurCloseTimerRef.current !== null) { + window.clearTimeout(blurCloseTimerRef.current) + blurCloseTimerRef.current = null + } + if (closingResetTimerRef.current !== null) { + window.clearTimeout(closingResetTimerRef.current) + closingResetTimerRef.current = null } }, []) + const setAddressBarFormRef = useCallback( + (node: HTMLFormElement | null) => { + if (node === null) { + clearAddressBarTimers() + } + }, + [clearAddressBarTimers] + ) + const searchEngine: SearchEngine = (browserDefaultSearchEngine as SearchEngine | null) ?? DEFAULT_SEARCH_ENGINE @@ -279,6 +288,7 @@ export default function BrowserAddressBar({ >
{ event.preventDefault()