Merge branch 'master' into docking (require next commit)

# Conflicts:
#	backends/imgui_impl_glfw.cpp
#	backends/imgui_impl_glfw.h
#	backends/imgui_impl_osx.mm
#	backends/imgui_impl_sdl3.cpp
#	backends/imgui_impl_vulkan.cpp
#	backends/imgui_impl_vulkan.h
#	backends/imgui_impl_win32.cpp
#	imgui.cpp
This commit is contained in:
ocornut
2026-01-14 19:42:11 +01:00
14 changed files with 152 additions and 91 deletions

View File

@@ -41,6 +41,12 @@ HOW TO UPDATE?
Breaking Changes:
- Commented out legacy names obsoleted in 1.90 (Sept 2023):
- BeginChildFrame() --> BeginChild() with ImGuiChildFlags_FrameStyle flag.
- EndChildFrame() --> EndChild().
- ShowStackToolWindow() --> ShowIDStackToolWindow().
- IM_OFFSETOF() --> offsetof().
- IM_FLOOR() --> IM_TRUNC() [internal, for positive values only]
- Hashing: handling of "###" operator to reset to seed within a string identifier
doesn't include the "###" characters in the output hash anymore:
Before: GetID("Hello###World") == GetID("###World") != GetID("World");
@@ -68,6 +74,8 @@ Breaking Changes:
until a shutdown of the owning context or font atlas.
- The fact that handling of `FontDataOwnedByAtlas = false` was broken bypassed
the issue altogether.
- Fixed a crash when trying to use AddFont() with MergeMode=true on a font that
has already been rendered. (#9162) [@ocornut, @cyfewlp]
- Removed ImFontConfig::PixelSnapV added in 1.92 which turns out is unnecessary
(and misdocumented). Post-rescale GlyphOffset is always rounded.
- Popups: changed compile-time 'ImGuiPopupFlags popup_flags = 1' default value to be '= 0' for
@@ -97,7 +105,10 @@ Breaking Changes:
- BeginPopupContextItem("foo", 1); // Behavior unchanged (as a courtesy we legacy interpret 1 as ImGuiPopupFlags_MouseButtonRight, will assert if disabling legacy behaviors.
- BeginPopupContextItem("foo", 0); // !! Behavior changed !! Was Left button. Now will defaults to Right button! --> Use ImGuiPopupFlags_MouseButtonLeft.
- BeginPopupContextItem("foo", ImGuiPopupFlags_NoReopen); // !! Behavior changed !! Was Left button + flags. Now will defaults to Right button! --> Use ImGuiPopupFlags_MouseButtonLeft | xxx.
- Backends:
- Vulkan: optional ImGui_ImplVulkanH_DestroyWindow() helper used by our example
code does not call vkDestroySurfaceKHR(): because surface is created by caller
of ImGui_ImplVulkanH_CreateOrResizeWindow(), it is more consistent. (#9163)
Other Changes:
@@ -151,10 +162,28 @@ Other Changes:
end of a line rather than at the beginning of next line. (#8990, #3237)
- Fixed low-level word-wrapping function reading from *text_end when passed
a string range. (#9107) [@achabense]
- Nav:
- Fixed remote/shortcut InputText() not teleporting mouse cursor when
nav cursor is visible and `io.ConfigNavMoveSetMousePos` is enabled.
- Scrollbar: fixed a codepath leading to a divide-by-zero (which would not be
noticeable by user but detected by sanitizers). (#9089) [@judicaelclair]
- InvisibleButton: allow calling with size (0,0) to fit to available content
size. (#9166, #7623)
- Added GetItemFlags() in public API for consistency and to expose generic
flags of last submitted item. (#9127)
- Images:
- Added style.ImageRounding, ImGuiStyleVar_ImageRounding to configure
rounding of Image() widgets. (#2942, #845)
- ImageButton() doesn't use a clamped style.FrameRounding value but instead
adjust inner image rounding when FramePadding > FrameRounding. (#2942, #845)
- Shortcuts:
- IsItemHovered() without ImGuiHoveredFlags_AllowWhenBlockedByActiveItem
doesn't filter out the signal when activated item is a shortcut remote activation;
(which mimicks what's done internally in the ItemHoverable() function). (#9138)
- Fixed tooltip placement being affected for a frame when located over an item
activated by SetNextItemShortcut(). (#9138)
- Error Handling:
- Improve error handling and recovery for EndMenu()/EndCombo(). (#1651, #9165, #8499)
- Debug Tools:
- Debug Log: fixed incorrectly printing characters in IO log when submitting
non-ASCII values to io.AddInputCharacter(). (#9099)