summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPiotr Srebrny <piotr.srebrny@qt.io>2022-06-24 10:02:03 +0200
committerPiotr Srebrny <piotr.srebrny@qt.io>2022-06-28 13:41:32 +0200
commit29d0fbea51c9bb13f7a7cab184a0f81aa24c90a5 (patch)
tree7093221742110834f141c24b38a007ca1331fdd3
parent045b251c51231006d7c81568b2c80e3c543b5d9b (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.cpp7
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;
}