diff --git a/internal/devicescale/impl_windows.go b/internal/devicescale/impl_windows.go index 7dfbe1f7d..aa91b524a 100644 --- a/internal/devicescale/impl_windows.go +++ b/internal/devicescale/impl_windows.go @@ -145,7 +145,6 @@ func getFromLogPixelSx() float64 { if err != nil { panic(err) } - defer releaseDC(0, dc) // Note that GetDeviceCaps with LOGPIXELSX always returns a same value for any monitors // even if multiple monitors are used. @@ -154,6 +153,10 @@ func getFromLogPixelSx() float64 { panic(err) } + if err := releaseDC(0, dc); err != nil { + panic(err) + } + return float64(dpi) / 96 } @@ -173,9 +176,9 @@ func impl() float64 { } // The window is not initialized yet when w == 0. if w == 0 { + // TODO: Use the primary monitor instead. return getFromLogPixelSx() } - defer releaseDC(0, w) m, err := monitorFromWindow(w, monitorDefaultToNearest) if err != nil {