Backends: DX10, DX11, DX12: Disabled DXGI's Alt+Enter default behavior on secondary viewports. (#4350)

Removed use of DXGI_MWA_NO_PRINT_SCREEN from original PR.
This commit is contained in:
David Maas
2021-07-21 16:59:34 -05:00
committed by ocornut
parent 28837ec642
commit 15c88c4941
4 changed files with 6 additions and 0 deletions

View File

@@ -708,6 +708,7 @@ static void ImGui_ImplDX10_CreateWindow(ImGuiViewport* viewport)
IM_ASSERT(vd->SwapChain == nullptr && vd->RTView == nullptr); IM_ASSERT(vd->SwapChain == nullptr && vd->RTView == nullptr);
bd->pFactory->CreateSwapChain(bd->pd3dDevice, &sd, &vd->SwapChain); bd->pFactory->CreateSwapChain(bd->pd3dDevice, &sd, &vd->SwapChain);
bd->pFactory->MakeWindowAssociation(hwnd, DXGI_MWA_NO_ALT_ENTER | DXGI_MWA_NO_WINDOW_CHANGES); // Disable e.g. Alt+Enter
// Create the render target // Create the render target
if (vd->SwapChain) if (vd->SwapChain)

View File

@@ -738,6 +738,7 @@ static void ImGui_ImplDX11_CreateWindow(ImGuiViewport* viewport)
break; break;
} }
IM_ASSERT(SUCCEEDED(hr)); IM_ASSERT(SUCCEEDED(hr));
bd->pFactory->MakeWindowAssociation(hwnd, DXGI_MWA_NO_ALT_ENTER | DXGI_MWA_NO_WINDOW_CHANGES); // Disable e.g. Alt+Enter
// Create the render target // Create the render target
if (vd->SwapChain != nullptr) if (vd->SwapChain != nullptr)

View File

@@ -1087,6 +1087,8 @@ static void ImGui_ImplDX12_CreateWindow(ImGuiViewport* viewport)
IDXGISwapChain1* swap_chain = nullptr; IDXGISwapChain1* swap_chain = nullptr;
res = dxgi_factory->CreateSwapChainForHwnd(vd->CommandQueue, hwnd, &sd1, nullptr, nullptr, &swap_chain); res = dxgi_factory->CreateSwapChainForHwnd(vd->CommandQueue, hwnd, &sd1, nullptr, nullptr, &swap_chain);
IM_ASSERT(res == S_OK); IM_ASSERT(res == S_OK);
res = dxgi_factory->MakeWindowAssociation(hwnd, DXGI_MWA_NO_ALT_ENTER | DXGI_MWA_NO_WINDOW_CHANGES); // Disable e.g. Alt+Enter
IM_ASSERT(res == S_OK);
dxgi_factory->Release(); dxgi_factory->Release();

View File

@@ -88,6 +88,8 @@ Docking+Viewports Branch:
- Viewports: DestroyContext() does not call DestroyPlatformWindows() anymore at - Viewports: DestroyContext() does not call DestroyPlatformWindows() anymore at
it assumed to be unnecessary as backensd should have done it and we check that it assumed to be unnecessary as backensd should have done it and we check that
backends have been shutdown since 1.90.4. Changed into asserts. (#7175, #8945) backends have been shutdown since 1.90.4. Changed into asserts. (#7175, #8945)
- Backends: DX10, DX11, DX12: Disabled DXGI's Alt+Enter default behavior on secondary
viewports managed by the backend. (#4350) [@PathogenDavid]
- Backends: Vulkan: Added ImGui_ImplVulkanH_GetWindowDataFromViewport() accessor/helper. - Backends: Vulkan: Added ImGui_ImplVulkanH_GetWindowDataFromViewport() accessor/helper.
(#8946, #8940) [@olivier-gerard] (#8946, #8940) [@olivier-gerard]