From dc3903199020064da26fd39959e123bfa43b2ed6 Mon Sep 17 00:00:00 2001 From: Andrew Foster <44451818+afostr@users.noreply.github.com> Date: Sat, 11 Apr 2026 12:06:30 -0500 Subject: [PATCH] resolve coderabbit nitpick listeners --- electron/windows.ts | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/electron/windows.ts b/electron/windows.ts index 3fe9f4d8..b4028d87 100644 --- a/electron/windows.ts +++ b/electron/windows.ts @@ -496,19 +496,13 @@ export function createHudOverlayWindow(): BrowserWindow { hudOverlayWindow = win; - win.on("closed", () => { - if (hudOverlayWindow === win) { - hudOverlayWindow = null; - } - }); - // Reset the user's saved HUD position when displays change so the bar // doesn't end up stranded off-screen after a monitor is disconnected. const screen = getScreen(); - screen.on("display-removed", () => { + const handleDisplayRemoved = () => { hudUserPosition = null; - }); - screen.on("display-metrics-changed", () => { + }; + const handleDisplayMetricsChanged = () => { if (hudUserPosition) { const displays = screen.getAllDisplays(); const onScreen = displays.some( @@ -523,6 +517,16 @@ export function createHudOverlayWindow(): BrowserWindow { } } applyHudOverlayBounds(hudOverlayExpanded); + }; + screen.on("display-removed", handleDisplayRemoved); + screen.on("display-metrics-changed", handleDisplayMetricsChanged); + + win.on("closed", () => { + screen.removeListener("display-removed", handleDisplayRemoved); + screen.removeListener("display-metrics-changed", handleDisplayMetricsChanged); + if (hudOverlayWindow === win) { + hudOverlayWindow = null; + } }); if (VITE_DEV_SERVER_URL) {