Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DirectX 11 Swap chain freezes on present when using viewports with mixed swap effects #5437

Open
kudaba opened this issue Jun 30, 2022 · 2 comments

Comments

@kudaba
Copy link
Contributor

kudaba commented Jun 30, 2022

Version/Branch of Dear ImGui:

Version: 1.85 (Custom)
Branch: docking

Back-end/Renderer/Compiler/OS

Back-ends: imgui_impl_win32.cpp + imgui_impl_dx11.cpp
Compiler: MSVC
Operating System: Windows 10

This is more of a PSA than an issue. I've been tracking an issue for months where the application would freeze when users drag a window out into it's own viewport. Sometimes it would happen right away, or it could take a while. When looking into the frozen application you would see this callstack:

	win32u.dll!NtGdiDdDDIPresent()
 	d3d11.dll!CallAndLogImpl<long (*)(struct _D3DKMT_PRESENT *),struct _D3DKMT_PRESENT *>(long (*)(struct _D3DKMT_PRESENT *),char const *,struct _D3DKMT_PRESENT *)
 	d3d11.dll!NDXGI::CDevice::PresentCB()
 	igd10iumd64.dll!00007ffddff07467()
 	igd10iumd64.dll!00007ffddff07646()
 	d3d11.dll!NDXGI::CDevice::PresentImpl(struct DXGI_PRESENTSURFACE const *,unsigned int,struct IDXGIResource *,void *,unsigned int,unsigned int,unsigned int *)
 	d3d11.dll!NDXGI::CDevice::Present()
 	dxgi.dll!CDXGISwapChain::PresentImplCore()
 	dxgi.dll!CDXGISwapChain::PresentImpl()
 	dxgi.dll!CDXGISwapChain::Present()

To make matters worse this only happened on certain hardware configurations. The root cause of this was that we were creating our main application swap chain with DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL if support for HDR in windowed mode was detected. ImGui uses DXGI_SWAP_EFFECT_DISCARD. It seems that some hardware doesn't like having mixed swap chain effects. I tried changing the ImGui viewport swap effect to discard but DirectX didn't seem to like that so I just made it that our application reverts to discard if ImGui viewport support is enabled.

@ocornut
Copy link
Owner

ocornut commented Jun 30, 2022

Thanks for reporting this.

I wonder if we could come up with a way to allow the application to specify details for creating windows. In this backend it would be e.g. a DXGI_SWAP_CHAIN_DESC template (mostly for sd.BufferDesc.Format and sd.SwapEffect.. maybe others).

Vulkan has some of that via some of the fields in ImGui_ImplVulkan_InitInfo, maybe that can be standardized a little better.

@ocornut
Copy link
Owner

ocornut commented Jun 30, 2022

Adding to the above: it would be tempting to "query" info about the main viewport, but we are explicitly trying to steer toward allowing to make the concept of a "main viewport" completely optional so I think it is preferable we find a way to let user configure things.

DnA-IntRicate added a commit to DnA-IntRicate/imgui that referenced this issue Oct 7, 2022
* Docking: added comments. added experimental TabItemFlagsOverrideSet to ImGuiWindowClass.

(Could probably do something similar with TabBarFlagsOverrideSet+Clear for ocornut#2700 later.)

* Docking: docked window honor tab and text colors by storing them. (ocornut#2771)

Later to lead into ocornut#2700 and ocornut#2539
Move tab submission block above in DockNodeUpdateTabBar(), not strictly necessary for this change as is, but useful if needing to apply override for TitleBg* as we'd need a value for node->VisibleWindow earlier than currently set.

* Fixed some compile warnings with Clang on Windows (ocornut#3754)

* Viewports, Backends: Vulkan: handle VK_ERROR_OUT_OF_DATE_KHR when resizing secondary viewport (ocornut#3766, ocornut#3758)

Cannot repro here but appears to a user on Linux. Fix may be not super solid.

* Docking: on node split, update memorized DockId for currently closed windows (ocornut#3716)

Amended by @ocornut with same fix in DockBuilderRemoveNodeChildNodes().

* Docking: fix gap in hit test hold when using ImGuiDockNodeFlags_PassthruCentralNode touching the edge of a viewport. (ocornut#3733)

* Viewports: (breaking) removed ImGuiPlatformIO::MainViewport which is now pretty much unused and duplicate (and misleading as we will evolve the concept)

Use GetMainViewport() if stuck.

* Viewports: Moved in own section of imgui.h ahead of merging a small part of viewport interface to master.

* Viewports: trying to treat GetMainViewport() as const. Reducing unnecessary casts of ImGuiViewportP*

Metrics: readded root Drawlists node in metrics to match master.
The (void*) casts are implying const-casst but currently left GetMainViewport() as returning non-const.

* Viewports: (Breaking) turned GetWorkPos(), GetWorkSize() into straight fields -> WorkPos, WorkSize before exposing in master branch.

* Fix for compiling imgui_internal.h without operators + made GetWorkRect() consistent with clamped WorkSize.

* Misc tweaks - mostly toward minimizing diff in upcoming backport merge of a few viewport structures in master

* Viewports: Fix issue inferring viewport z-order when new popups gets created. (ocornut#3734) + Metrics updates.

Revert 6bc5266
Showing inferred order and missing flags in metrics.

* Viewports: Setting the new (currently dummy) flags on viewports. (ocornut#3789, ocornut#1542, ocornut#3680, ocornut#3350, ocornut#3012, ocornut#2471)

Amend the merging of f14042c (merge ee59d7a)

* Remove redundant GetMainViewport decl in imgui.h (ocornut#3801, ocornut#3800)

* Docking: Made close button enable logic consistent on dockspace. When no docked window have a close button or it is disabled on the node, the space is given to tabs.

Clarified close_button_is_visible vs close_button_is_enabled behavior in DockNodeUpdateTabBar().. (ocornut#3633, ocornut#3521)
Reduced alpha of disabled close button a little bit further.
Removed 'EnableCloseButton' which was actually unused (can't be infered early, need ->VisibleWindow anyway, which is not == ->ActiveWindow)

* Examples: DX9-DX11: Removed half-assed DPI awareness enable. Updated Docking/Viewports part of Changelog (e.g. removed bits that are now already in master, clarified some added bits)

* Viewports: Fix setting of ImGuiViewportFlags_NoRendererClear. (ocornut#3213)

* Internals: Add a way to request window to not process any interactions for specified number of frames.

* Added missing IMGUI_API to internal docking-related structs. (ocornut#3850)

* Internals: Docking: some renaming.

* Internals: rename RootWindow->RootWindowDockTree, RootWindowDockStop->RootWindow.

Why?  So by default RootWindow matches user expectation on both branches, and RootWindowDockTree is more intentful.
(Actually should reduce diff between master<>docking)

* Viewports, Backend: SDL: Fix missing ImGuiBackendFlags_HasSetMousePos flag in docking branch (ok in master), GLFW: Fix application of WantSetMousePos. (ocornut#1542, ocornut#787)

Shows how little this feature is used with nav (was designed for small devices and frankly may be dropped) - but the backend support itself we will make use of for other features.

* Viewports, Internals: added GetViewportPlatformMonitor() will a safety net to keep code portable + simplified handling of disconnected monitor in Begin().

* ImDrawFlags: rework/revert c2d6d26 + 39432bf in a way that is closer to old version and back to opt-in but with default 0 = all corners.

* Removed deprecated flag stopping compilation (ocornut#3902)

* Docking: Dockspace() never draws a background. (ocornut#3924)

* Docking: undocking nodes/windows covering most of the monitor max their size down to 90% to ease further manipulations.

Kind of a welcome hack.

* Docking: Add support for split_outer in DockContextCalcDropPosForDocking().
Misc: Add FIXME regarding behavior of some window fields.

* Viewports, Backends: Vulkan: Rebuild swapchain on VK_SUBOPTIMAL_KHR. (ocornut#3881)

* BeginMainMenuBar(): remove expectation that we don't know menu bar height ahead, allowing up to generalize placement in any direction (will be done in master)

Amend 75de34e

* Viewports: Hotfix for crash in monitor array access, caused by 4b9bc49. (ocornut#3967)

* TabBar: Use mouse position instead of hardcoded +1/-1 offset when reordering tabs.

Fixes tab reordering in test engine when using fast mode.

# Conflicts:
#	imgui_widgets.cpp

* TabBar: Amend previous commit. Fix tab reordering when tab bar has scrolling.

Some tidying up with helpers + honor 16-bit offsets as with other tab bar features (unlikely single reorder can reach that but consistent)

* Backends, Viewports: GLFW: Add a workaround for stuck keys after closing a GLFW window (ocornut#3837).

* Docking: DockSpace() returns its node ID + adding branch changelog.

* Docking: fix undocking from tab-bar by moving mouse horizontally, broken by d705192.

* Docking: removed io.ConfigDockingWithShift option. (ocornut#2109)

* Docking: fix undocking from tab-bar by moving mouse horizontally, amend 3ed07a8 + d705192.

Automation system may drag e.g. right-most tab far left (and vice-versa) and one frame and our current logic would fail at it.

* Fix popup positioning, broken by 84e6fe4. (ocornut#3991, ocornut#3982)

* Docking: Fixed restoring of tab order within a dockspace or a split node.

(tests in "docking_tab_order")

* Docking: Fixed multiple simultaneously reappearing window from appearing undocked in their initial frame.

* Docking: Fixed reappearing docked windows with no close button showing a tab with extraneous space for one frame.

* Docking: move NavWindow to SelectedTabId application lower to leave a chance for in-between code to alter focus. + store per-node window menu button id to simplify usage.

* Docking: Fix window menu button. Broken by 3f16a52 (ocornut#4043)

Worked on single-frame click.

* Changelog: added docking+entries from 1.72 to 1.82 to increase their visibility.

* Backends: Vulkan: Fix for using IMGUI_IMPL_VULKAN_NO_PROTOTYPES (ocornut#4151, ocornut#3759, ocornut#3227)

* Docking: Docking node tab bar honors ItemInnerSpacing.x before first tab. Tweak rendering and alignment of dock node menu marker. (ocornut#4130)

+ Fix ~0 in EndFrameDrawDimmedBackgrounds() which is obsolete way of signifying "all round corners".

* Docking: Fix IsWindowAppearing() and ImGuiCond_Appearing on docked windows. (ocornut#4177, ocornut#3982, ocornut#1497, ocornut#1061)

* Docking: Amend 91704b7, window->DockXXX booleans not properly cleared when window not docked. (ocornut#4177, ocornut#3982, ocornut#1497, ocornut#1061)

Fix issue with freshly split windows/nodes incorrectly returning true to IsWindowAppearing().

* Docking: Fix IsWindowAppearing() unnecessarily returning true twice in a row. (ocornut#4177, ocornut#3982, ocornut#1497, ocornut#1061) + added a zealous assert.

* Docking: Clicking on the right-most close button of a docking node closes all windows. (ocornut#4186)

* Docking: comments (ocornut#4189)

* Added PushDisabled(), PopDisabled() currently only exposed in imgui_internal.h (ocornut#211)

* ImVector: added clear_delete(), clear_destruct() helpers.

# Conflicts:
#	imgui.cpp

* Nav, Drag and Drop, Docking: fixed two issues leading nav result to conflict with moving a window. (ocornut#4211, ocornut#3025)

* Backends, Viewports: Vulkan: Fix the use of the incorrect fence in wait for fence. (ocornut#4208)

The fence being waited upon was not the one associated with the current frame.
This results in validation error detecting a reset of command buffers still in use and resetting fences while still in use.
Read more details in ocornut#4208

* Metrics: Tentative fix for bad printf format.

Ref b53b8f5, a7a1b3b

* Viewport: extracted code out of Begin() into WindowSyncOwnedViewport() - no other change

* Viewports: Fix popup/tooltip created without a parent window from being given a ParentViewportId value of the implicit/fallback window. (ocornut#4236, ocornut#2409)

Amend 3ead982

* Backends: amends to 1db1066 + merge minor bits from docking incl SetActiveIdUsingNavAndKeys().

No need to clear fields before deletion. DX12: renamed to match docking branch.

* Backends: Viewports: renamed viewport storage structures ImGuiViewportDataXXXX -> ImGui_ImplXXXX_ViewportData and locals (matching naming convention in 70c6038)

* Docking: removed DockNodeFlagsOverrideClear flags from ImGuiWindowClass. (ocornut#2999, ocornut#3521, ocornut#3633)

+ extraded bits of metrics into DebugNodeDockNodeFlags()

* Docking: Reworked node flags saving/inheritance... (ocornut#4292, ocornut#3834, ocornut#3633, ocornut#3521, ocornut#3492, ocornut#3335, ocornut#2999, ocornut#2648)

..so that flags enforced by docked windows via the DockNodeFlagsOverrideSet mechanism are are not left in empty dockspace nodes once the windows gets undocked.

* Docking: Added ImGuiDockNodeFlags_NoDockingOverEmpty. Breaking definition of ImGuiDockNodeFlags_NoDockingOverOther which now means "non empty node". (ocornut#3492, ocornut#2648, ocornut#4292)

* Docking: Fixed crash issues using DockBuilderRemoveNode() in some situations. (ocornut#3111, ocornut#3179, ocornut#3203, ocornut#4295)

If the deleted root node isn't part of a dockspace with a central node, it won't be "protected" but removed when last window gets removed.

* Docking: Fix crash when a dock node gets re-qualified as dockspace>floating>dockspace.. (ocornut#3203, ocornut#4295)

Which tends to happen when incorrectly calling DockBuilderAddNode() without ImGuiDockNodeFlags_Dockspace and using it as a Dockspace on the next frame after the floating window hosting the node has been automatically created.

* Added missing IMGUI_API to GetViewportPlatformMonitor. (ocornut#4309)

* Backends: Win32, SDL, GLFW: only honor io.WantSetMousePos when focused + fix GLFW uninstalling handler + tweaks to reduce branch drift with docking. (ocornut#787, ocornut#2445, ocornut#2696, ocornut#3751, ocornut#4377)

# Conflicts:
#	backends/imgui_impl_glfw.cpp
#	backends/imgui_impl_sdl.cpp
#	backends/imgui_impl_win32.cpp

* IO: modify io.AddFocusEvent() to tolerate in/out for multi-viewports. Amend 2f40be6. (ocornut#3532)

* Fix BeginDisabled(false), (ocornut#211, ocornut#4452)

* Fix BeginDisabled(false), again, (ocornut#211, ocornut#4452, ocornut#4453) Version 1.84.1

(forced pushed since our earlier versioning didn't sort correctly in github web)

# Conflicts:
#	docs/CHANGELOG.txt

* Backends: GLFW: Fixed unused variable warning for empty assert macro. (ocornut#4459)

* Docking: fixed settings load issue when mouse wheeling. (ocornut#4310)

* Docking: fix 58f5092 (ocornut#4310)

If we clear _ChildWindow flag we must remove it from here otherwise render loop will fail.

* Docking: warning fix for when IM_ASSERT() is empty

* Fixed bad merge of Changelog in docking branch

* Internals: refactored IsWindowHovered()/IsWindowFocused() to make their logic more similar + change underlying value of ImGuiHoveredFlags_AllowWhenBlockedByPopup + comment out docking only flags.

* Fixed _ChildWindows from leaking docking hierarchy. Added ImGuiFocusedFlags_DockHierarchy and ImGuiHoveredFlags_DockHierarchy.

* Viewports: fixed unnecessary creation of temporary viewports when multiple docked windows got reassigned to a new node (created mid-frame) which already has a HostWindow

* Viewports: Fixed a crash while a window owning its viewport disappear while being dragged.

t would manifest when e.g. reconfiguring dock nodes while dragging.

* Viewports: fix window with viewport ini data immediately merged into a host viewport from leaving a temporary viewport alive for a frame (would leak into backend).

* Fixed IsWindowFocused/IsWindowHovered with _ChildWindows for not following through popup parents (amend 6b1e094, fix ocornut#4527)

* Viewports: extracted DestroyViewport() out of UpdateViewportsNewFrame() function.

* Docking: bits.

* Docking: floating node with a central node hides properly when nothing is docked + rename.

* Docking: Improved resizing system so that non-central zone are better at keeping their fixed size.

* Nav: Fixed an issue with losing focus on docked windows when pressing Alt while keyboard navigation is disabled. (ocornut#4547, ocornut#4439)

* Docking: Fixed IsItemHovered() and functions depending on it (e.g. BeginPopupContextItem()) when called after Begin() on a docked window (ocornut#3851)

Fix ee643b2

* Added ImGuiFocusedFlags_NoPopupHierarchy and ImGuiHoveredFlags_NoPopupHierarchy (followup ocornut#4527)

IsWindowFocused: fix flag usage (amend 6b1e094) was technically harmless because of light typing.

* Docking: reinstate io.ConfigDockingWithShift option. (ocornut#4643)

This more or less reverts commit 3ed07a8.

* Fixed nested BeginDisabled()/EndDisabled() bug in Docking branch due to bad merge. (ocornut#4655, ocornut#4452, ocornut#4453, ocornut#4462)

* Backends: Made it possible to shutdown default Platform Backends before the Renderer backends. (ocornut#4656)

* Viewports: Made it possible to explicitly assign ImGuiWindowClass::ParentViewportId to 0. (ocornut#3152, ocornut#2871)

* Fixed tooltip in own viewport over modal from being incorrectly dimmed. (ocornut#4729)

Normally we would aim to ensure that g.Windows[] gets maintained to reflect display layer but it is presently non trivial.

* Fixed crash on right-click without modal, introduced by previous commit a3667f4,  (ocornut#4729)

* Viewports: fix missing default per-window value for ParentViewportId due to zero-cleared in-window instance (ocornut#4756)

Broken by 2080d12

* Docking: Fixed a bug undocking windows docked into a non-visible or _KeepAliveOnly dockspace. (ocornut#4757)

* Docking: Fix typo (had no side effect) (ocornut#4778)

Co-authored-by: Mikko Sivulainen <[email protected]>

* Viewports: Fixed CTRL+TAB highlight outline on docked windows not always fitting in host viewport + moved EndFrameDrawDimmedBackgrounds() call + removed duplicate code in Begin() already in EndFrameDrawDimmedBackgrounds()

* Docking: Fixed incorrectly rounded tab bars for dock node that are not at the top of their dock tree.

* Docking: Fixed single-frame node pos/size inconsistencies when window stop or start being submitted.

Fix 718e15c while preserving its intended property. Tested by "docking_window_appearing_layout". (ocornut#2109)

* Docking: internals: extracted rounding corner calculation into reusable CalcRoundingFlagsForRectInRect() function.

* Docking: docked windows honor ImGuiCol_WindowBg. Host window in charge of rendering seams. (ocornut#2700, ocornut#2539 + Docked windows honor display their border properly. (ocornut#2522)

Plus: better support for transparent one in nodes
Side effects: DockContextBindNodeToWindow doesn't alter node->IsVisible.
Side effects: ImDrawList:: _ResetForNewFrame() needs to merge, sane (in case of
(Amended, force-pushed)

* Docking: Amend b16f738 fixed dimming of docked window + removed thin highlight around windows (never worked on docked window, not viewports friendly, hard to move to EndFrame) (ocornut#2700, ocornut#2539, ocornut#2522)

* Nav, Docking: reworked modal/ctrl+tab dimming system to be entirely processed at end of the frame, which will simplify things for an upcoming commit.

(Will backport some of this back to master now.)

* Nav, Docking: Fix dimming on docked windows.

* Nav, Docking: Fix crash on dimming docked window and DockSpaceOverViewport() with PassthruCentralNode.

(amend 1dc3af3, 23ef6c1, 657073a)

* Added an assertion for the common user mistake of using "" as an identifier at the root level of a window. (ocornut#1414, ocornut#2562, ocornut#2807, ocornut#4008, ocornut#4158, ocornut#4375, ocornut#4548, ocornut#4657, ocornut#4796)

  ocornut#4158, ocornut#4375, ocornut#4548, ocornut#4657, ocornut#4796)

* Docking: prevent docking any window created above a popup/modal. (ocornut#4317)

* Internals: UpdateWindowInFocusOrderList: amend a528398 to fix docking. (ocornut#3496, ocornut#4797)

* Internals: reduced side-effects of setting window->HiddenFramesForRenderOnly > 0

* Viewports: Fixed a CTRL+TAB crash with viewports enabled (ocornut#4023, ocornut#787) (amend 1dc3af3, 23ef6c1, 657073a)

+ Expose FindHoveredViewportFromPlatformWindowStack() in imgui_internal.h

* Update .gitignore

* Backends: OSX: Fixed typo.

* Rename io.AddKeyModEvent() -> io.AddKeyModsEvent() and updated backends accordingly. (ocornut#2625, ocornut#4858)

Amend 790132a (breaking)

# Conflicts:
#	backends/imgui_impl_glfw.cpp
#	backends/imgui_impl_sdl.cpp
#	backends/imgui_impl_win32.cpp

* IO: fix SetKeyEventNativeData() not handling ImGuiKey_None the same way as AddKeyEvent(). (ocornut#4905, ocornut#4858)

* Merge "Backends: SDL: Fix for Emscriptem. Amend 98ce013." + Fix bad merge from master of "is_app_focused" property (Amend 0647ba3)

* Viewports: Fixed active InputText() from preventing viewports to merge. (ocornut#4212)

* Viewports: Relaxed specs for backend supporting ImGuiBackendFlags_HasMouseHoveredViewport. Backends: SDL: Added support for simplified HasMouseHoveredViewport. (ocornut#1542, ocornut#4665)

* IO: added AddMouseViewportEvent() + used in backends.

* Docking: Fixed a CTRL+TAB crash when aiming at an empty docked window. (ocornut#4792)

* Revert moving ImGuiKeyModFlags to internal.h (amendc906c65)

# Conflicts:
#	imgui.cpp

* Backends: SDL: no support for ImGuiBackendFlags_HasMouseHoveredViewport under OSX/LInux (ocornut#4960)

* Docking: Fixed size constraints not working on single window holding on a dock id (still doesn't work on docked windows).

* Docking: Tabs use their own identifier (in order to make window->ID refer to whole window in test engine).  Also prevents Tab ID from clashing with "" which was common.

* Docking: Fixed CTRL+TAB back into a docked window not selecting menu layer when no item are on main layer.

Could merge on master.

* Backends: SDL: Amend 08350e5, multi-viewports mouse tracking works under Linux. (ocornut#4960) + Reword tests to help static analysis.

* Docking: fixed potential crash if a passthrough dock node is submitted without a child intermediate (currently not possible via API)

* Internals: rework RenderMouseCursor() signature so we can use it in docking branch more naturally. (Merged from master+ rework for docking)

# Conflicts:
#	imgui.cpp
#	imgui_draw.cpp

* Viewports: Fixed main viewport size not matching ImDrawData::DisplaySize for one frame during resize when multi-viewports are disabled. (ocornut#4900)

* Docking: Fixed floating docked nodes not being clamped into viewport workrect to stay reachable when g.ConfigWindowsMoveFromTitleBarOnly is set and multi-viewports are disabled. (ocornut#5044)

* Viewports: Fixed translating a host viewport from briefly altering the size of AlwaysAutoResize windows. (ocornut#5057)

* Backends: SDL: Fix multi-viewport dragging issue with SDL on some systems. (ocornut#5012)

* Backends: SDL: Fix more dragging issues. SDL_CaptureMouse() is essentially broken. (ocornut#5012, ocornut#5082)

master got c5f6721 which is combining f337378 and this commit.

* Windows: Fixed first-time windows appearing in negative coordinates. (ocornut#5215, ocornut#3414)

Regression added in 6af92b0

* Backends: OSX, Metal: Added multi-viewports support. (ocornut#4821, ocornut#2778)

* Backends: OSX, Metal: Amend d111133, tidying up, remove unused, misc tweaks. . (ocornut#4821, ocornut#2778)

* Backends: OSX: Implement ImGui_ImplOSX_ShowWindow(). (ocornut#5299)

* Examples: Apple+OpenGL: Fix build.

* Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". (ocornut#5324)

Regression introduced in 6b77668

* Docking: Fix unhiding tab bar regression. (ocornut#5325, ocornut#5181)

Broken by 9038678

* Misc: Fix custom assertion macro failing to compile imgui.cpp (ocornut#5378)

* Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.

* Backends: SDL+GLFW, Examples: SDL+Metal, GLFW+Metal: Fix viewport support with Metal backend.

Fixes ocornut#5392 + alignment fixes and removed static_cast<> + Amended with fix.

* Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. (ocornut#5401)

Ideally we should untangle the purpose of parent_window_in_stack / ParentWindowInBeginStack better.

* Docking: Amend 24dfebf. Fixed incorrect focus highlight on docking node with nested hierarchies.

* Backends: GLFW: Fixed leftover static variable preventing from changing or reinitializing backend while application is running. (ocornut#4616, ocornut#5434)

* Backends, Viewport: Metal: Pull format from shared context. (ocornut#5403, ocornut#5437)

* Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer  (ocornut#5463, ocornut#4792)

Fix 37958ca

* Docking: Fix docked window contents not rendering when switching with CTRL+Tab.

(regression from 8eb8689).

* Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)

+ using defines for channel changes.

* Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. (ocornut#5515)

* Docking: Fixed amending into an existing tab bar from rendering invisible items. (ocornut#5515, amend b16f738 ocornut#2700, ocornut#2539)

Commit b16f738 left us with a "current" channel 0 which seems inadequate. Undoing that, assuming default is always 1, code filling bg color does a switch. Only DockContextEndFrame() leave it at 0 and it's not particularly necessary.

* Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. (ocornut#5503)

Amend 67be485, Somehow ties to 58f5092 + 0eb45a0 (ocornut#4310)
Unsure of exact chain of event but this caused a parent link msimatch between the time of the MouseMoving test in AddUpdateViewport() setting _NoInputs on the wrong parent., and the release clearing _NoInputs on the rght one.

* Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. (ocornut#5515)

The idea is that in the absence of a tab bar, as new one gets created new tabs will be sorted based on window->DockOrder so this may work but we're not 100% sure.

* Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window.
Metrics: Display dock_node->Windows in node metrics.

* Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.

* Nav: Fixed regression in e99c4fc preventing CTR+Tab to work without NavEnableKeyboard (ocornut#5504, ocornut#4023);

* Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. (ocornut#5548)

This incorrect pattern has been mentioned or suggested in: ocornut#4510, ocornut#3355, ocornut#1760, ocornut#1490, ocornut#4152, ocornut#150

# Conflicts:
#	imgui.cpp

* Backends: SDL: Fixed building backend under non-OSX Apple targets (e.g. iPhone). (ocornut#5665)

* Docking: Fixed incorrect focus highlight on docking node when focusing a menu. (ocornut#5702)

* Backends: OpenGL: Add ability to #define IMGUI_IMPL_OPENGL_DEBUG. (ocornut#4468, ocornut#4825, ocornut#4832, ocornut#5127, ocornut#5655, ocornut#5709)

# Conflicts:
#	backends/imgui_impl_opengl3.cpp

* Update imgui_impl_vulkan.h to match martty/imgui

https://github.com/martty/imgui/blob/master/examples/imgui_impl_vulkan.h

* Update imgui_impl_vulkan.cpp to match martty/imgui

https://github.com/martty/imgui/blob/master/examples/imgui_impl_vulkan.cpp

* Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.

* Docking: Fixed missing highlight when using dock node host window borders. (ocornut#5702)

Amend 8f43487, 9764adc, 24dfebf

* Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] (ocornut#5745)

+ TabBar: starts displaying the unsaved document marker with a frame delay to match how close button is processed, otherwise the transition would be noticeable.

* Fix for Vulkan validation layer warnings

Fix from: TheCherno@add065f
ocornut#3957

Co-authored-by: ocornut <[email protected]>
Co-authored-by: Sammy Fatnassi <[email protected]>
Co-authored-by: GamingMinds-DanielC <[email protected]>
Co-authored-by: Adam Kewley <[email protected]>
Co-authored-by: Rokas Kupstys <[email protected]>
Co-authored-by: David Maas <[email protected]>
Co-authored-by: CheckmateAt7 <[email protected]>
Co-authored-by: warriormaster12 <[email protected]>
Co-authored-by: Michel Lesoinne <[email protected]>
Co-authored-by: Mikko Sivulainen <[email protected]>
Co-authored-by: Mikko Sivulainen <[email protected]>
Co-authored-by: Dima Koltun <[email protected]>
Co-authored-by: stuartcarnie <[email protected]>
Co-authored-by: omar <[email protected]>
Co-authored-by: Andrej Redeky <[email protected]>
Co-authored-by: Runik <[email protected]>
Co-authored-by: Stephen H. Gerstacker <[email protected]>
A9am777 pushed a commit to A9am777/CMP400-Project that referenced this issue Oct 26, 2023
ocornut added a commit that referenced this issue Feb 24, 2025
…ports via undocumented ImGui_ImplDX11_SetSwapChainDescs(). (#5437, #7607, #7286, #2970)
LalisaTM added a commit to LalisaTM/imgui that referenced this issue Feb 25, 2025
commit 2db3e9d
Author: ocornut <[email protected]>
Date:   Tue Feb 25 17:11:56 2025 +0100

    Backends: SDL2, SDL3: Use display bounds when SDL_GetDisplayUsableBounds() fails or return a zero size. (ocornut#8415, ocornut#3457)

    Analoguous to aa8e09d for GLFW.

commit 9ab0b66
Author: ocornut <[email protected]>
Date:   Tue Feb 25 15:55:54 2025 +0100

    Backends: fixed comment to state that ImGuiViewport::PlaformHandle is used to store SDL's WindowID, not SDL_Window*. (ocornut#7853)

    Amend 2d99052

commit dd89bb1
Author: ocornut <[email protected]>
Date:   Fri Feb 21 23:51:30 2025 +0100

    Backends: DirectX11: configure swap chain creation for secondary viewports via undocumented ImGui_ImplDX11_SetSwapChainDescs(). (ocornut#5437, ocornut#7607, ocornut#7286, ocornut#2970)

commit 3064e6d
Author: Marius PvW <[email protected]>
Date:   Fri Feb 21 22:37:51 2025 +0100

    Viewports + Backends: Win32: Fixed setting title bar text when application is compiled without UNICODE. (ocornut#7979, ocornut#5725)

commit 6acdce7
Author: ocornut <[email protected]>
Date:   Fri Feb 21 22:12:53 2025 +0100

    Backends: Win32: use UnregisterClassW() for matching consistency. (ocornut#8423, ocornut#7979)

    Amend 3293ef8

commit 7730601
Merge: 1a7b594 434b771
Author: ocornut <[email protected]>
Date:   Fri Feb 21 19:56:20 2025 +0100

    Merge branch 'master' into docking

    # Conflicts:
    #	backends/imgui_impl_glfw.cpp
    #	backends/imgui_impl_glfw.h
    #	backends/imgui_impl_opengl3.cpp
    #	backends/imgui_impl_osx.h
    #	backends/imgui_impl_osx.mm
    #	backends/imgui_impl_sdl2.cpp
    #	backends/imgui_impl_sdl3.cpp
    #	backends/imgui_impl_win32.cpp
    #	imgui.cpp

commit 434b771
Author: ocornut <[email protected]>
Date:   Wed Feb 19 16:49:35 2025 +0100

    Internals: packing ImGuiDataVarInfo + misc renaming + value of ImGuiDataType_Pointer doesn't need to be Count+1

commit 1a7b594
Author: ocornut <[email protected]>
Date:   Fri Feb 21 19:18:31 2025 +0100

    Backends: GLFW/SDL2/SDL3: Update monitors and work areas information every frame, as the later may change regardless of monitor changes. (ocornut#8415)

commit ea59440
Author: David Maas <[email protected]>
Date:   Fri Feb 21 17:08:16 2025 +0100

    Backends: Win32: WM_SETTINGCHANGE's SPI_SETWORKAREA message also triggers a refresh of monitor list. (ocornut#8415)

commit 1e18a6c
Author: ocornut <[email protected]>
Date:   Fri Feb 21 16:55:35 2025 +0100

    Examples: GLFW+Vulkan: make GLFW_DIR overridable in cmake bit. (ocornut#8419)

commit a6bcbb1
Author: Tygyh <[email protected]>
Date:   Thu Feb 20 18:07:25 2025 +0100

    Examples: Android: Update kotlin version (ocornut#8409)

commit 6dc376f
Author: ocornut <[email protected]>
Date:   Thu Feb 20 11:54:32 2025 +0100

    ImFontAtlas: added software/drawlist version of ImGuiMouseCursor_Wait/ImGuiMouseCursor_Progress + moved GetMouseCursorTexData() to internals.

commit 85c488e
Author: ocornut <[email protected]>
Date:   Thu Feb 20 11:46:56 2025 +0100

    Hot-fix for broken MouseDrawCursor support for ImGuiMouseCursor_Wait/ImGuiMouseCursor_Progress/ImGuiMouseCursor_NotAllowed.

    Amend 8a35386, eec097f.

commit 05742f9
Author: ocornut <[email protected]>
Date:   Wed Feb 19 10:55:44 2025 +0100

    Tables: share code between TableSetupColumn() and TableLoadSettings(). (ocornut#7934)

commit 8b7b3ce
Author: ocornut <[email protected]>
Date:   Wed Feb 19 10:14:38 2025 +0100

    Tables: fixed an issue where Columns Width state wouldn't be correctly restored when hot-reloading .ini state. (ocornut#7934)

    Amend 7cd31c3
    column->SortDirection initialized setting was wrong in first block but without side-effect, since sorting always stored explicitly in .ini data.

commit eec097f
Author: ocornut <[email protected]>
Date:   Tue Feb 18 18:52:08 2025 +0100

    Added ImGuiMouseCursor_Progress mouse cursor 8a35386+ support in SDL2,SDL3,Win32,Allegro5 backends.

    Amend 8a35386

commit 8a35386
Author: ocornut <[email protected]>
Date:   Tue Feb 18 18:40:47 2025 +0100

    Added ImGuiMouseCursor_Wait mouse cursor (busy/wait/hourglass shape) + support in SDL2,SDL3,Win32,Allegro5 backends.

commit 8f0411f
Author: ocornut <[email protected]>
Date:   Tue Feb 18 18:19:10 2025 +0100

    Backends: OpenGL3: Lazily reinitialize embedded GL loader for when calling backend from e.g. other DLL boundaries. (ocornut#8406)

commit afd659b
Merge: a4ebe3d5 c4a32a1
Author: ocornut <[email protected]>
Date:   Mon Feb 17 11:46:16 2025 +0100

    Merge branch 'master' into docking

    # Conflicts:
    #	backends/imgui_impl_sdl2.cpp
    #	backends/imgui_impl_vulkan.cpp

commit c4a32a1
Author: Nico van Bentum <[email protected]>
Date:   Thu Feb 13 21:50:12 2025 +0100

    Tabs: fixed middle-button to close not checking hovering, only close button visibility. (ocornut#8399, ocornut#8387)

    Main bug has been here since 54a60aa, but it's only ef7ffaf which made it very visible.

commit 78ec127
Author: ocornut <[email protected]>
Date:   Fri Feb 14 21:39:45 2025 +0100

    ImDrawList: added InitialFringeScale in ImDrawListSharedData. Default to 1.0f.

    This is to allow some DPI mods with less changes. Only the initial value in SetupDrawListSharedData() will need change.

commit 2860d7b
Author: ocornut <[email protected]>
Date:   Fri Feb 14 19:44:35 2025 +0100

    Selectable: Fixed horizontal label alignment with SelectableTextAlign.x > 0 and specifying a selectable size. (ocornut#8338)

    Regression from ed7551c

commit 474305c
Author: ocornut <[email protected]>
Date:   Fri Feb 14 16:15:09 2025 +0100

    ImFont: simpler constructor.

commit ec4cd2c
Author: ocornut <[email protected]>
Date:   Fri Feb 14 12:19:24 2025 +0100

    Backends: Vulkan: Fixed crash with using no prototypes + *BREAKING* Added ApiVersion to ImGui_ImplVulkan_LoadFunctions(). (ocornut#8326, ocornut#8365, ocornut#8400)

commit a4ebe3d
Author: ocornut <[email protected]>
Date:   Fri Feb 14 12:04:05 2025 +0100

    Viewports: Fixed assertion when multi-viewports disabled and no monitor submitted. Reworked 95c4111. (ocornut#8401, ocornut#8393, ocornut#8385)

commit 98c2f6b
Author: ocornut <[email protected]>
Date:   Thu Feb 13 16:19:41 2025 +0100

    Tables, Error Handling: Recovery from invalid index in TableSetColumnIndex(). (ocornut#1651)

commit e1ae7db
Author: ocornut <[email protected]>
Date:   Thu Feb 13 16:03:40 2025 +0100

    Backends: Vulkan: Fixed building with older headers not supporting VK_HEADER_VERSION_COMPLETE. (ocornut#8326, ocornut#8365)

commit 12963f5
Author: ocornut <[email protected]>
Date:   Thu Feb 13 15:49:47 2025 +0100

    Examples: Vulkan: make ApiVersion a little more visible in examples. (ocornut#8326, ocornut#8365)

commit 890ead6
Author: ocornut <[email protected]>
Date:   Thu Feb 13 15:40:49 2025 +0100

    Backends: Vulkan: Added ApiVersion field in ImGui_ImplVulkan_InitInfo. Dynamic rendering path loads "vkCmdBeginRendering/vkCmdEndRendering" without -KHR on API 1.3. (ocornut#8326, ocornut#8365)

commit 95c4111
Author: Gabriel Rodriguez <[email protected]>
Date:   Wed Feb 12 12:39:44 2025 +0100

    Viewports: default to first monitor is viewport is outside bounds. (ocornut#8393, ocornut#8385)

    Before the assert was introduced in d66f4e5 the viewport would be eventually clamped with ClampWindowPos using g.FallbackMonitor, but code would run temporarly with DpiScale=0.

commit f94a5f0
Author: Rémy Tassoux <[email protected]>
Date:   Thu Feb 13 14:30:49 2025 +0100

    Docs: Update doc about plutosvg (ocornut#8395)

commit b78cc37
Author: ocornut <[email protected]>
Date:   Wed Feb 12 19:27:43 2025 +0100

    Backends: SDL2: Fixed build for versions older than 2.0.14. (ocornut#7660)

commit 71d39a4
Merge: 8679cfa a931fb7
Author: ocornut <[email protected]>
Date:   Wed Feb 12 19:17:48 2025 +0100

    Merge branch 'master' into docking

    # Conflicts:
    #	backends/imgui_impl_sdl2.cpp
    #	backends/imgui_impl_sdl3.cpp
    #	imgui.cpp
    #	imgui_internal.h

commit a931fb7
Author: ocornut <[email protected]>
Date:   Wed Feb 12 19:15:00 2025 +0100

    Fixed static analyzer warning.

    (was harmless as initialized in NewFrame)

commit 7cd31c3
Author: ocornut <[email protected]>
Date:   Wed Feb 12 19:08:52 2025 +0100

    Tables: tamed some .ini settings optimizations to more accurately allow overwriting/hot-reloading settings. (ocornut#7934)

commit 7221f5e
Author: ocornut <[email protected]>
Date:   Wed Feb 12 19:01:02 2025 +0100

    Styles, Tabs: Fixed ef7ffaf. (ocornut#8387)

commit ef7ffaf
Author: ocornut <[email protected]>
Date:   Wed Feb 12 15:46:17 2025 +0100

    Styles, Tabs: (Breaking) Renamed TabMinWidthForCloseButton to TabCloseButtonMinWidthUnselected. Added TabCloseButtonMinWidthSelected. (ocornut#8387)

commit 3d900ed
Author: PuPuHX <[email protected]>
Date:   Tue Feb 11 10:57:47 2025 +0800

    Examples: Win32+DirectX12: Fixed ExampleDescriptorHeapAllocator overflow free index.

    Amend 40b2286.

commit 6916f93
Author: fdsa <[email protected]>
Date:   Tue Feb 11 13:12:55 2025 -0800

    InputText: Allow CTRL+Shift+Z to redo even outside of OSX. (ocornut#8389)

commit 3b2f260
Author: ocornut <[email protected]>
Date:   Mon Feb 10 21:33:49 2025 +0100

    Windows: Fixed an issue where BeginChild() inside a collapsed Begin() wouldn't inherit the SkipItems flag.

    Amend/fix a89f05a (old!)
    Discovered while looking at glyph being processed in WIP branch.

commit 4dc9df6
Author: ocornut <[email protected]>
Date:   Mon Feb 10 19:29:18 2025 +0100

    Tables: fixed an issue where Columns Visible/Hidden state wouldn't be correctly overridden when hot-reloading .ini state. (ocornut#7934)

commit 88cda0c
Author: ocornut <[email protected]>
Date:   Mon Feb 10 12:39:54 2025 +0100

    Fixed minor warning. Added comment.

commit a431e12
Author: ocornut <[email protected]>
Date:   Mon Feb 10 12:09:44 2025 +0100

    Backends: SDL2, SDL3:  Using SDL_OpenURL() in platform_io.Platform_OpenInShellFn handler. (ocornut#7660)

commit a18622c
Author: ocornut <[email protected]>
Date:   Mon Feb 10 12:02:01 2025 +0100

    TextLinkOpenURL(): fixed default Win32 io.PlatformOpenInShellFn handler to handle UTF-8 regardless of system regional settings. (ocornut#7660)

commit 2206e31
Author: ocornut <[email protected]>
Date:   Mon Feb 10 11:37:55 2025 +0100

    Demo: Combos: demonstrate a very simple way to add a filter to a combo. (ocornut#718)

commit e8ad60c
Author: edenware <[email protected]>
Date:   Fri Feb 7 21:01:46 2025 -0600

    Fix typo (ocornut#8382)

commit 50dbb08
Author: ocornut <[email protected]>
Date:   Fri Feb 7 22:57:15 2025 +0100

    Tables: sneakily honor ImGuiNextWindowDataFlags_HasChildFlags/ImGuiNextWindowDataFlags_HasWindowFlags as a way to facilitate various hacks/workarounds.

commit e368015
Author: ocornut <[email protected]>
Date:   Fri Feb 7 22:56:02 2025 +0100

    Tables: a clipped scrolling table correctly clears SetNextWindowXXX flags. (ocornut#8196)

    Amend 43c51eb

commit e5668b8
Author: ocornut <[email protected]>
Date:   Fri Feb 7 22:48:31 2025 +0100

    Internals: rename ImGuiNextWindowData::Flags to HasFlags for consistency and to reduce mistakes.

commit 8679cfa
Merge: d803476 4982602
Author: ocornut <[email protected]>
Date:   Fri Feb 7 18:27:32 2025 +0100

    Merge branch 'master' into docking

    # Conflicts:
    #	backends/imgui_impl_glfw.cpp
    #	backends/imgui_impl_glfw.h
    #	examples/example_apple_metal/example_apple_metal.xcodeproj/project.pbxproj
    #	imgui.cpp

commit 4982602
Author: ocornut <[email protected]>
Date:   Fri Feb 7 18:16:04 2025 +0100

    Windows, Style: Added style.WindowBorderHoverPadding setting to configure inner/outer padding applied to hit-testing of windows borders.

    Amend 3c7177c, 59f3c4f, ae7f833.
    Could be latched inside windows to be multi-dpi friendly, but likely won't matter soon.

commit 914fbcf
Author: ocornut <[email protected]>
Date:   Fri Feb 7 16:23:00 2025 +0100

    Fonts: removed unnecessary const qualifier from ImFont::FindGlyph()

    Amend 0bde57c

commit 4f1d380
Author: fdsa <[email protected]>
Date:   Wed Feb 5 18:41:03 2025 -0800

    Fixed tabs and spaces (ocornut#8377)

commit 0625b37
Author: ocornut <[email protected]>
Date:   Thu Feb 6 18:37:32 2025 +0100

    Scrollbar: Rework logic that fades-out scrollbar when it becomes too small.

    Amend 0236bc2

commit cfed18a
Author: ocornut <[email protected]>
Date:   Thu Feb 6 12:34:37 2025 +0100

    Add ImFontConfig::GlyphExtraAdvanceX as a replacement for GlyphExtraSpacing.x (ocornut#242)

    Partly restore 1a31e31.

commit 2d20e13
Author: ocornut <[email protected]>
Date:   Tue Feb 4 20:19:57 2025 +0100

    Backends: GLFW: Added comment about io.AddMouseSourceEvent() not being properly called. (ocornut#8374)

commit d803476
Merge: 1820fe5 1a31e31
Author: ocornut <[email protected]>
Date:   Mon Feb 3 18:42:24 2025 +0100

    Merge branch 'master' into docking

    # Conflicts:
    #	backends/imgui_impl_metal.mm
    #	imgui.cpp
    #	imgui_internal.h

commit 1a31e31
Author: ocornut <[email protected]>
Date:   Mon Feb 3 17:55:35 2025 +0100

    (Breaking) Fonts: removed ImFontConfig::GlyphExtraSpacing option which seems largely obsolete and unused. (ocornut#242)

commit de962e8
Author: ocornut <[email protected]>
Date:   Mon Feb 3 17:50:12 2025 +0100

    ImFont: remove SetGlyphVisible()

    Which was never marked public. Added by d284a6c. (ocornut#2149, ocornut#515)
    Making room by removing stuff that are inconvenient to implement in our scaling system.
    If you were using this function please post an issue to report it.

commit da0ba9e
Author: PhantomCloak <[email protected]>
Date:   Sun Feb 2 19:25:09 2025 +0300

    Backends: WebGPU: add type alias for dawn WGPUProgrammableStageDescriptor -> WGPUComputeState. (ocornut#8369)

commit 5dd8408
Author: ocornut <[email protected]>
Date:   Mon Feb 3 15:11:03 2025 +0100

    InputTextWithHint(): Fixed buffer overflow when user callback modifies the buffer contents in a way that alters hint visibility. (ocornut#8368)

commit 204cebc
Author: ocornut <[email protected]>
Date:   Mon Feb 3 14:21:53 2025 +0100

    Backends: Metal: Fixed a crash on application resources. (ocornut#8367, ocornut#7419) [@anszom]

commit 6265339
Author: ocornut <[email protected]>
Date:   Mon Feb 3 14:01:48 2025 +0100

    Fixed IsItemDeactivatedAfterEdit() signal being broken for Checkbox(), RadioButton(), Selectable(). (ocornut#8370)

    Item is already made inactive at the time of calling MarkItemEdited().
    Fix a604d4f

commit f820bf7
Author: ocornut <[email protected]>
Date:   Mon Feb 3 12:33:40 2025 +0100

    Version 1.91.9 WIP

commit e4db4e4
Author: ocornut <[email protected]>
Date:   Fri Jan 31 19:50:18 2025 +0100

    Internals: renamed GetIOEx() to GetIO(). Added GetPlatformIO() explicit context variant. - OOPS

commit 1820fe5
Author: ocornut <[email protected]>
Date:   Fri Jan 31 19:02:14 2025 +0100

    Comments, minor alignments tweaks.

commit e2a99b5
Author: ocornut <[email protected]>
Date:   Fri Jan 31 18:26:52 2025 +0100

    Internals: renamed GetIOEx() to GetIO(). Added GetPlatformIO() explicit context variant.

commit 11b3a7c
Merge: c2dcc80 dbb5eea
Author: ocornut <[email protected]>
Date:   Fri Jan 31 16:10:20 2025 +0100

    Merge branch 'master' into docking

commit dbb5eea
Author: ocornut <[email protected]>
Date:   Fri Jan 31 15:57:48 2025 +0100

    Version 1.91.8

commit e6c5296
Author: Konstantin Podsvirov <[email protected]>
Date:   Fri Jan 31 16:11:33 2025 +0300

    Examples: SDL3: Fix for Emscripten platform (ocornut#8363)

commit ae6cfd3
Author: ocornut <[email protected]>
Date:   Thu Jan 30 14:34:05 2025 +0100

    Tables, Menus: Fixed tables or child windows submitted inside BeginMainMenuBar() being unable to save their settings. (ocornut#8356)

    Amend error handling (fa178f4) to avoid us setting ImGuiWindowFlags_NoSavedSettings on the wrong window.

commit fa178f4
Author: ocornut <[email protected]>
Date:   Thu Jan 30 14:30:14 2025 +0100

    Error Handling: Recovery from missing EndMenuBar() call. (ocornut#1651)

commit c2dcc80
Author: ocornut <[email protected]>
Date:   Thu Jan 30 11:39:52 2025 +0100

    Docking: fixed ImGuiWindowFlags_DockNodeHost/ImGuiWindowFlags_NavFlattened clash introduced by c38c18c just for 1.91.7 (ocornut#8357)

commit 1dc7762
Author: ocornut <[email protected]>
Date:   Wed Jan 29 20:13:22 2025 +0100

    Fixed zealous GCC warning. (ocornut#8355)

    Amend dfd1bc3

commit c0308da
Author: ocornut <[email protected]>
Date:   Wed Jan 29 20:13:22 2025 +0100

    Fixed zealous GCC warning. (ocornut#8355)

    Amend dfd1bc3

commit 0825952
Merge: 75d9965 dabc990
Author: ocornut <[email protected]>
Date:   Wed Jan 29 20:04:45 2025 +0100

    Merge branch 'master' into docking

    # Conflicts:
    #	imgui.cpp
    #	imgui_internal.h

commit dabc990
Author: ocornut <[email protected]>
Date:   Wed Jan 29 19:59:41 2025 +0100

    Rename internal id for standardizing naming convention. "##menubar" -> "##MenuBar", "###NavWindowingList" -> "###NavWindowingOverlay"

    "###NavUpdateWindowing" one should have zero side effect on anyone.

commit a711915
Author: ocornut <[email protected]>
Date:   Wed Jan 29 19:07:28 2025 +0100

    EndMainMenuBar doesn't attempt to restore focus when there's an active id. (ocornut#8355)

    I don't have a specific issue in mind but it seems sane to add that test.

commit dfd1bc3
Author: ocornut <[email protected]>
Date:   Wed Jan 29 19:05:18 2025 +0100

    Tables, Menus: Fixed using BeginTable() in menu layer (any menu bar). (ocornut#8355)

commit 4230e98
Author: ocornut <[email protected]>
Date:   Tue Jan 28 14:39:00 2025 +0100

    Error Handling, Debug Log: IMGUI_DEBUG_LOG_ERROR() doesn't need the extra variable.

    Amend 2360061

commit ea0da0b
Author: ocornut <[email protected]>
Date:   Mon Jan 27 18:04:44 2025 +0100

    Extracted PushPasswordFont() out of InputText code.

commit 75d9965
Author: ocornut <[email protected]>
Date:   Mon Jan 27 15:48:20 2025 +0100

    Docking: move DockTabItemStatusFlags stuff next to its peers in DC structure.

commit db4e541
Merge: 81dab64 9c4948a
Author: ocornut <[email protected]>
Date:   Mon Jan 27 15:45:26 2025 +0100

    Merge branch 'master' into docking

    # Conflicts:
    #	imgui.cpp
    #	imgui_internal.h
    #	imgui_widgets.cpp

commit 9c4948a
Author: ocornut <[email protected]>
Date:   Mon Jan 27 15:41:24 2025 +0100

    TabBar: Internals: added TabItemSpacing(). (ocornut#8349, ocornut#3291)

commit a05d547
Author: ocornut <[email protected]>
Date:   Mon Jan 27 14:39:26 2025 +0100

    Windows: separating WindowItemStatusFlags from ChildItemStatusFlag, because IsItemXXX _after_ BeginChild()>Begin() shouldn't return last status emitted by e.g. EndChild()

    As IsItemXXX() after is specced as returning title bar data we don't want to lock ourselves up from adding them to child window (e.g. MDI idea using windows to host child windows).

commit 134fbe1
Author: ocornut <[email protected]>
Date:   Mon Jan 27 12:39:44 2025 +0100

    Windows: Fixed IsItemXXXX() functions not working on append-version of EndChild(). (ocornut#8350)

    Also made some of the fields accessible after BeginChild() to match Begin() logic.

commit 5a28f18
Author: ocornut <[email protected]>
Date:   Mon Jan 27 12:27:10 2025 +0100

    Fixed parameter names to SetLastItemData() to align with current names.

commit 81dab64
Merge: 355cb58 96e3b14
Author: ocornut <[email protected]>
Date:   Sat Jan 25 01:15:30 2025 +0100

    Merge branch 'master' into docking

commit 96e3b14
Author: ocornut <[email protected]>
Date:   Sat Jan 25 01:14:46 2025 +0100

    Fixed build with IMGUI_ENABLE_FREETYPE (ocornut#8346)

commit afb6e9a
Author: ocornut <[email protected]>
Date:   Fri Jan 24 20:03:04 2025 +0100

    Fonts: OversampleH auto-selection uses 36 as heuristic for now.

commit 355cb58
Merge: 64e738c 8a1613a
Author: ocornut <[email protected]>
Date:   Fri Jan 24 19:40:54 2025 +0100

    Merge branch 'master' into docking, incl conflict merge in BeginMenuBar() for ocornut#8267

    # Conflicts:
    #	imgui_widgets.cpp

commit 8a1613a
Author: ocornut <[email protected]>
Date:   Fri Jan 24 19:27:50 2025 +0100

    Fonts: OversampleH/OversampleV value defaults to 0 for automatic selection.

commit 4211fdc
Author: ocornut <[email protected]>
Date:   Wed Jan 22 15:44:51 2025 +0100

    ImFont: compact comments in header section.

commit 9eafb7b
Author: ocornut <[email protected]>
Date:   Fri Jan 24 16:54:59 2025 +0100

    ImFont: IndexLookup[] table hold 16-bit values even in ImWchar32 mode.

commit 53244aa
Author: ocornut <[email protected]>
Date:   Fri Jan 24 15:00:21 2025 +0100

    Amend 9bc5b04 with a shadowed variable warning fix.

commit ed7551c
Author: ocornut <[email protected]>
Date:   Fri Jan 24 14:59:37 2025 +0100

    Selectable: Fixed horizontal label alignment when combined with using ImGuiSelectableFlags_SpanAllColumns. (ocornut#8338)

commit bbf9578
Author: ocornut <[email protected]>
Date:   Fri Jan 24 14:43:16 2025 +0100

    Amend 9bc5b04 to avoid using GImGui mid-function.

commit 9bc5b04
Author: ocornut <[email protected]>
Date:   Fri Jan 24 14:39:07 2025 +0100

    Windows, Style: Fixed small rendering issues with menu bar, resize grip and scrollbar when using thick border sizes. (ocornut#8267, ocornut#7887)

    Amend e.g. 742b5f4.

commit 1019934
Author: ocornut <[email protected]>
Date:   Thu Jan 23 11:31:32 2025 +0100

    ImFontAtlas: made calling ClearFonts() call ClearInputData(). (ocornut#8174, ocornut#6556, ocornut#6336, ocornut#4723)

commit 71da34c
Author: ocornut <[email protected]>
Date:   Wed Jan 22 16:56:18 2025 +0100

    Debug Tools: Tweaked font preview + indent "Glyphs" block.

commit 64e738c
Merge: a3802c8 6906ac9
Author: ocornut <[email protected]>
Date:   Wed Jan 22 12:19:09 2025 +0100

    Merge branch 'master' into docking

    # Conflicts:
    #	imgui.cpp

commit 6906ac9
Author: ocornut <[email protected]>
Date:   Wed Jan 22 12:12:07 2025 +0100

    ColorEdit, ColorPicker: (Breaking) redesigned how alpha is displayed in the preview square. (ocornut#8335, ocornut#1578, ocornut#346)

    Added ImGuiColorEditFlags_AlphaOpaque, ImGuiColorEditFlags_AlphaNoBg.
    Removed ImGuiColorEditFlags_AlphaPreview.

commit fdca6c0
Author: ocornut <[email protected]>
Date:   Wed Jan 22 11:28:47 2025 +0100

    Inputs: added IsMouseReleasedWithDelay() helper. (ocornut#8337, ocornut#8320)

commit d17e9fc
Author: ocornut <[email protected]>
Date:   Wed Jan 22 10:32:09 2025 +0100

    Backends: SDL_GPU: shallow tweaks + disable anisotropy in sampler. Examples: SDL+Vulkan: Fixed incorrect defines.

commit 3e6bdc2
Author: ocornut <[email protected]>
Date:   Wed Jan 22 10:22:31 2025 +0100

    Examples: SDL3+SDL_GPU: use SDL_GPU_PRESENTMODE_MAILBOX swapchain parameters.

commit a3802c8
Author: David Maas <[email protected]>
Date:   Wed Jan 22 10:01:40 2025 +0100

    Backends: SDL3: new viewport windows are created with the SDL_WINDOW_HIDDEN flag before calling SDL_ShowWindow(). (ocornut#8328

    Unsure why it was missing from a526ff8

commit bf13442
Author: ocornut <[email protected]>
Date:   Tue Jan 21 14:59:29 2025 +0100

    Moved ImGuiColorEditFlags_AlphaPreview/ImGuiColorEditFlags_AlphaPreviewHalf flags. Demo: reorganized some of color edit/picker demo section.

commit 2af26b7
Author: David Maas <[email protected]>
Date:   Tue Jan 21 14:25:39 2025 +0100

    ColorEdit, ColorPicker: Fixed alpha preview broken in 1.91.7. (ocornut#8336, ocornut#8241). [@PathogenDavid]

    ImAlphaBlendColors() was broken by ImLerp() change. (cd6c83c)

commit 7ae7c90
Author: ocornut <[email protected]>
Date:   Tue Jan 21 13:55:44 2025 +0100

    Tabs, Style: reworked selected overline rendering to better accommodate for rounded tabs. (ocornut#8334)

commit 6e94f6c
Merge: 109dd2b e8779a6
Author: ocornut <[email protected]>
Date:   Mon Jan 20 18:04:31 2025 +0100

    Merge branch 'master' into docking

    # Conflicts:
    #	backends/imgui_impl_osx.mm
    #	backends/imgui_impl_sdl2.cpp
    #	backends/imgui_impl_sdl3.cpp
    #	imgui.cpp
    #	imgui_internal.h

commit e8779a6
Author: ocornut <[email protected]>
Date:   Mon Jan 20 17:55:09 2025 +0100

    Font: direct AddText()/RenderText() calls don't need to call strlen() if below clipping region.

    Unlikely to meaningful affect anyone but still..

commit 4c2e7bb
Author: ocornut <[email protected]>
Date:   Mon Jan 20 15:24:46 2025 +0100

    Backends: SDL2,SDL3: removed assert preventing using ImGui_ImplSDL2_SetGamepadMode()/ImGui_ImplSDL3_SetGamepadMode() with ImGui_ImplSDL2_GamepadMode_Manual/ImGui_ImplSDL3_GamepadMode_Manual and an empty array. (ocornut#8329)

commit 8b0af7f
Author: ocornut <[email protected]>
Date:   Mon Jan 20 14:30:40 2025 +0100

    Backends: SDL: update comments regarding API stability, regarding SDL_GPU and SDL_Renderer.

commit aa1b4ea
Author: Julian Rachele <[email protected]>
Date:   Sun Jan 19 16:30:15 2025 -0500

    Backends: OSX: Remove notification observer when shutting down. (ocornut#8331)

commit aa23f38
Author: Daniel K. O. (dkosmari) <none@none>
Date:   Fri Jan 17 19:18:05 2025 -0300

    Backends: SDL_Renderer2/3: Use endian-dependent RGBA32 texture format, to match SDL_Color. (ocornut#8327)

commit 80c9cd1
Author: ocornut <[email protected]>
Date:   Sat Jan 18 16:43:17 2025 +0100

    Font: reduce unnecessary padding in ImFontConfig struct too.

commit d7454de
Author: ocornut <[email protected]>
Date:   Fri Jan 17 18:09:28 2025 +0100

    Font: minor tweak to struct alignment.

commit dd89a37
Author: ocornut <[email protected]>
Date:   Fri Jan 17 17:11:22 2025 +0100

    Backends: Vulkan: sharing duplicate code. (ocornut#5446, ocornut#8326)

commit 487d7f9
Author: ocornut <[email protected]>
Date:   Thu Jan 16 22:30:43 2025 +0100

    Font: Internals: make used page maps smaller. Since it's extremely rarely used and for iterations only. ~34->16 bytes with ImWchar32.

commit f2262eb
Author: ocornut <[email protected]>
Date:   Thu Jan 16 19:46:54 2025 +0100

    Windows: latch FontRefSize at time of Begin(), consistent with e.g. TitleBarHeight, and to avoid calling CalcFontSize() on non-current window.

commit b7c27c5
Author: ocornut <[email protected]>
Date:   Thu Jan 16 19:07:09 2025 +0100

    Windows: legacy SetWindowFontScale() is properly inherited by nested child windows. (ocornut#2701, ocornut#8138, ocornut#1018)

commit 4c64ba1
Author: ocornut <[email protected]>
Date:   Thu Jan 16 17:42:00 2025 +0100

    imgui_freetype: fixed issue where glyph advances would incorrectly be snapped to pixels.

commit 0077357
Author: Diego Mateos <[email protected]>
Date:   Thu Jan 16 17:10:26 2025 +0100

    Ignore vscode artifacts (ocornut#8324)

commit b4a5d1d
Author: ocornut <[email protected]>
Date:   Thu Jan 16 12:42:54 2025 +0100

    Backends: SDLGPU3: Rename GpuDevice->Device. Expose ImGui_ImplSDLGPU3_CreateDeviceObjects(), ImGui_ImplSDLGPU3_DestroyDeviceObjects(). Misc renaming. (ocornut#8163, ocornut#7998, ocornut#7988)

commit 109dd2b
Author: ocornut <[email protected]>
Date:   Wed Jan 15 17:50:57 2025 +0100

    Backends: Vulkan: VK_SUBOPTIMAL_KHR doesn't skip frame. (ocornut#7831, ocornut#7825)

commit 507cdba
Author: ocornut <[email protected]>
Date:   Wed Jan 15 17:38:37 2025 +0100

    Backends: Vulkan: vkQueuePresentKHR() returning VK_SUBOPTIMAL_KHR keeps moving forward. (ocornut#7825)

commit 015186a
Merge: b9badb5 0f33d71
Author: ocornut <[email protected]>
Date:   Wed Jan 15 17:34:17 2025 +0100

    Merge branch 'master' into docking

    # Conflicts:
    #	backends/imgui_impl_dx12.cpp
    #	backends/imgui_impl_vulkan.cpp

commit 0f33d71
Author: ocornut <[email protected]>
Date:   Wed Jan 15 17:25:44 2025 +0100

    Examples: Vulkan: vkAcquireNextImageKHR() and vkQueuePresentKHR() returning VK_SUBOPTIMAL_KHR keeps moving forward. (ocornut#7825, ocornut#7831)

commit b9badb5
Author: ocornut <[email protected]>
Date:   Wed Jan 15 17:08:04 2025 +0100

    Backends: Vulkan: removed misleading code incrementing frameindex. (ocornut#7834)

    Thanks NostraMagister!

commit 8ebf22d
Author: ocornut <[email protected]>
Date:   Wed Jan 15 16:10:47 2025 +0100

    Backends: Vulkan: use ImVector<> for simplicity.

commit 6684984
Author: ocornut <[email protected]>
Date:   Wed Jan 15 15:13:05 2025 +0100

    Examples: DirectX12: Reduced number of frame in flight from 3 to 2 in provided example, to reduce latency.

commit 0e21bde
Author: ocornut <[email protected]>
Date:   Wed Jan 15 13:58:38 2025 +0100

    Misc shallow merge to reduce diff in other branches.

commit 8a9de84
Author: ocornut <[email protected]>
Date:   Wed Jan 15 13:47:52 2025 +0100

    FontAtlas: reduced baked IM_DRAWLIST_TEX_LINES_WIDTH_MAX from 63 to 32. (ocornut#3245)

commit 100075f
Author: ocornut <[email protected]>
Date:   Wed Jan 15 12:05:33 2025 +0100

    Backends: DirectX12: Texture upload use the command queue provided in ImGui_ImplDX12_InitInfo instead of creating its own.

    + minor tweaks to faciliate branch merging.

commit c59a226
Author: ocornut <[email protected]>
Date:   Wed Jan 15 11:58:47 2025 +0100

    Version 1.91.8 WIP

commit c0ae325
Merge: d0d571e 5c1d2d1
Author: ocornut <[email protected]>
Date:   Tue Jan 14 13:46:39 2025 +0100

    Merge branch 'master' into docking

    # Conflicts:
    #	imgui.cpp

commit 5c1d2d1
Author: ocornut <[email protected]>
Date:   Tue Jan 14 13:16:43 2025 +0100

    Version 1.91.7

commit 9f8481a
Author: ocornut <[email protected]>
Date:   Tue Jan 14 13:14:50 2025 +0100

    (Breaking) TreeNode: renamed ImGuiTreeNodeFlags_SpanTextWidth to ImGuiTreeNodeFlags_SpanLabelWidth. (ocornut#6937)

commit 21902e2
Author: ocornut <[email protected]>
Date:   Mon Jan 13 19:51:15 2025 +0100

    Backends: SDL_GPU: fixed SDL_GPUViewport initialisation. (ocornut#8163, ocornut#7998, ocornut#7988)

    Probably harmless. Amend 8bbccf7

commit c38c18c
Author: ocornut <[email protected]>
Date:   Mon Jan 13 19:39:57 2025 +0100

    Avoid using 1<<31 for ImGuiWindowFlags_NavFlattened as it seems to confuse some binding generators.

commit c5f6094
Author: ocornut <[email protected]>
Date:   Mon Jan 13 19:18:05 2025 +0100

    Demo: tweak demo for ImGuiTreeNodeFlags_LabelSpanAllColumns. (ocornut#8318, ocornut#3565)

commit 290e402
Author: ocornut <[email protected]>
Date:   Mon Jan 13 18:55:09 2025 +0100

    TreeNode, Tables: added ImGuiTreeNodeFlags_LabelSpanAllColumns. (ocornut#8318, ocornut#3565)

commit 6fb7d44
Author: ocornut <[email protected]>
Date:   Mon Jan 13 16:46:29 2025 +0100

    Backends: SDL2/SDL3: Comments. (ocornut#7672, ocornut#7670)

commit 32cea85
Author: ocornut <[email protected]>
Date:   Mon Jan 13 15:51:39 2025 +0100

    Debug Tools:  Item Picker: Always available in menu. Tweak Demo Debug Options. (ocornut#2673, ocornut#1651)

commit 00f12b9
Author: ocornut <[email protected]>
Date:   Mon Jan 13 15:22:45 2025 +0100

    InputText: Fixed not calling CallbackEdit on revert/clear with Escape key. (ocornut#8273) + rework comments.

    Seems like there is no reason to not run that path. Amend ancient 9501cd9, f3ab5e6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants