Removed use of DXGI_MWA_NO_PRINT_SCREEN from original PR.
@@ -708,6 +708,7 @@ static void ImGui_ImplDX10_CreateWindow(ImGuiViewport* viewport)
IM_ASSERT(vd->SwapChain == nullptr && vd->RTView == nullptr);
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
if (vd->SwapChain)
@@ -738,6 +738,7 @@ static void ImGui_ImplDX11_CreateWindow(ImGuiViewport* viewport)
break;
}
IM_ASSERT(SUCCEEDED(hr));
if (vd->SwapChain != nullptr)
@@ -1087,6 +1087,8 @@ static void ImGui_ImplDX12_CreateWindow(ImGuiViewport* viewport)
IDXGISwapChain1* swap_chain = nullptr;
res = dxgi_factory->CreateSwapChainForHwnd(vd->CommandQueue, hwnd, &sd1, nullptr, nullptr, &swap_chain);
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();
@@ -88,6 +88,8 @@ Docking+Viewports Branch:
- Viewports: DestroyContext() does not call DestroyPlatformWindows() anymore at
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: 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.
(#8946, #8940) [@olivier-gerard]