diff options
author | Piotr Srebrny <piotr.srebrny@qt.io> | 2022-06-24 10:02:03 +0200 |
---|---|---|
committer | Piotr Srebrny <piotr.srebrny@qt.io> | 2022-06-28 13:41:32 +0200 |
commit | 29d0fbea51c9bb13f7a7cab184a0f81aa24c90a5 (patch) | |
tree | 7093221742110834f141c24b38a007ca1331fdd3 | |
parent | 045b251c51231006d7c81568b2c80e3c543b5d9b (diff) |
Release DC context after use
Fixes: QTBUG-104520
Change-Id: Ida7840aaa185a9db96dd366fbc44292586fd81f4
Reviewed-by: André de la Rocha <andre.rocha@qt.io>
(cherry picked from commit 8c78ed8e94ff59bdc629d65475f31fec66adaaf0)
-rw-r--r-- | src/multimedia/platform/windows/evr/evrd3dpresentengine.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/multimedia/platform/windows/evr/evrd3dpresentengine.cpp b/src/multimedia/platform/windows/evr/evrd3dpresentengine.cpp index f6a502af2..62c13bd07 100644 --- a/src/multimedia/platform/windows/evr/evrd3dpresentengine.cpp +++ b/src/multimedia/platform/windows/evr/evrd3dpresentengine.cpp @@ -362,8 +362,11 @@ static bool readWglNvDxInteropProc(WglNvDxInterop &f) return false; } - auto dc = ::GetDC(::GetShellWindow()); - if (!strstr(wglGetExtensionsStringARB(dc), "WGL_NV_DX_interop")) { + HWND hwnd = ::GetShellWindow(); + auto dc = ::GetDC(hwnd); + bool hasExtension = strstr(wglGetExtensionsStringARB(dc), "WGL_NV_DX_interop"); + ReleaseDC(hwnd, dc); + if (!hasExtension) { qCDebug(qLcEvrD3DPresentEngine) << "WGL_NV_DX_interop missing"; return false; } |