Examples: DirectX12+Win32: also test for IsIconic() for sleeping since we don't seem to get a DXGI_STATUS_OCCLUDED signal when minimized. (#8603)

Amend ec1d2be96f. (#2496, #3907, #6308, #7615)
This technically prevents multi-viewports from working with io.ConfigViewportsNoDefaultParent=true but this is a more fringe case to handle for our example app, better tradeoff imho to use IsIconic().
This commit is contained in:
ocornut
2025-04-30 11:30:06 +02:00
parent 3f8033324f
commit 20066a8964
2 changed files with 3 additions and 1 deletions

View File

@@ -115,6 +115,8 @@ Other changes:
- Backends: Vulkan: Deep-copy ImGui_ImplVulkan_InitInfo::PipelineRenderingCreateInfo's - Backends: Vulkan: Deep-copy ImGui_ImplVulkan_InitInfo::PipelineRenderingCreateInfo's
pColorAttachmentFormats buffer when set, in order to reduce common user-error of pColorAttachmentFormats buffer when set, in order to reduce common user-error of
specifying a pointer to data that gets out of scope. (#8282) specifying a pointer to data that gets out of scope. (#8282)
- Examples: DirectX12+Win32: also test for IsIconic() for sleeping since we don't seem to
get a DXGI_STATUS_OCCLUDED signal when minimized. (#8603) [@dooann]
----------------------------------------------------------------------- -----------------------------------------------------------------------

View File

@@ -196,7 +196,7 @@ int main(int, char**)
break; break;
// Handle window screen locked // Handle window screen locked
if (g_SwapChainOccluded && g_pSwapChain->Present(0, DXGI_PRESENT_TEST) == DXGI_STATUS_OCCLUDED) if ((g_SwapChainOccluded && g_pSwapChain->Present(0, DXGI_PRESENT_TEST) == DXGI_STATUS_OCCLUDED) || ::IsIconic(hwnd))
{ {
::Sleep(10); ::Sleep(10);
continue; continue;