diff --git a/src/d3d9/d3d9_swapchain.cpp b/src/d3d9/d3d9_swapchain.cpp index 23168f38..db7dfdf2 100644 --- a/src/d3d9/d3d9_swapchain.cpp +++ b/src/d3d9/d3d9_swapchain.cpp @@ -529,12 +529,11 @@ namespace dxvk { if (changeFullscreen) this->EnterFullscreenMode(pPresentParams, pFullscreenDisplayMode); - std::unique_lock lock(windowProcMapMutex); - - auto it = windowProcMap.find(m_window); - it->second.filter = true; - - lock.unlock(); + { + std::lock_guard lock(windowProcMapMutex); + auto it = windowProcMap.find(m_window); + it->second.filter = true; + } if (!changeFullscreen) ChangeDisplayMode(pPresentParams, pFullscreenDisplayMode); @@ -547,9 +546,11 @@ namespace dxvk { rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top, SWP_FRAMECHANGED | SWP_SHOWWINDOW | SWP_NOACTIVATE); - lock.lock(); - - it->second.filter = false; + { + std::lock_guard lock(windowProcMapMutex); + auto it = windowProcMap.find(m_window); + it->second.filter = false; + } } m_presentParams = *pPresentParams;