summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPiotr Srebrny <piotr.srebrny@qt.io>2022-06-24 10:02:03 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-06-24 11:11:31 +0000
commite239fb550e0d8aa82ff421ce333405d771242570 (patch)
tree9d6ad4427e291d9c5d6d463531a160a5e62f1c0e
parentf7ce1b957fab0ae9b5bfe2cdc9e7d2893edb3b09 (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) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/plugins/multimedia/windows/evr/evrd3dpresentengine.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/plugins/multimedia/windows/evr/evrd3dpresentengine.cpp b/src/plugins/multimedia/windows/evr/evrd3dpresentengine.cpp
index 96c7836cf..27e11cc3a 100644
--- a/src/plugins/multimedia/windows/evr/evrd3dpresentengine.cpp
+++ b/src/plugins/multimedia/windows/evr/evrd3dpresentengine.cpp
@@ -391,8 +391,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;
}