Nav: fixed Ctrl+Tab window appearing as empty when the sole active and focused window has the ImGuiWindowFlags_NoNavFocus flag. (#8914)
diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt
index 9d1710a..4a28876 100644
--- a/docs/CHANGELOG.txt
+++ b/docs/CHANGELOG.txt
@@ -50,7 +50,9 @@
- Clipper, Tables: added ImGuiListClipperFlags_NoSetTableRowCounters as a way to
disable the assumption that 1 clipper item == 1 table row, which breaks when
e.g. using clipper with ItemsHeight=1 in order to clip in pixel units. (#8886)
-- Fixed Bullet() fixed tesselation amount which looked out of place in very large sizes.
+- Nav: fixed Ctrl+Tab window appearing as empty when the sole active and focused
+ window has the ImGuiWindowFlags_NoNavFocus flag. (#8914)
+- Bullet: fixed tesselation amount which looked out of place in very large sizes.
- InputText: allow passing an empty string with buf_size==0. (#8907)
In theory the buffer size should always account for a zero-terminator, but idioms
such as using InputTextMultiline() with ImGuiInputTextFlags_ReadOnly to display
diff --git a/imgui.cpp b/imgui.cpp
index 07537df..a4128f2 100644
--- a/imgui.cpp
+++ b/imgui.cpp
@@ -14253,7 +14253,7 @@
g.NavWindowingInputSource = g.NavInputSource = ImGuiInputSource_Gamepad;
}
if (start_windowing_with_gamepad || start_windowing_with_keyboard)
- if (ImGuiWindow* window = g.NavWindow ? g.NavWindow : FindWindowNavFocusable(g.WindowsFocusOrder.Size - 1, -INT_MAX, -1))
+ if (ImGuiWindow* window = (g.NavWindow && IsWindowNavFocusable(g.NavWindow)) ? g.NavWindow : FindWindowNavFocusable(g.WindowsFocusOrder.Size - 1, -INT_MAX, -1))
{
if (start_windowing_with_keyboard || g.ConfigNavWindowingWithGamepad)
g.NavWindowingTarget = g.NavWindowingTargetAnim = window->RootWindow; // Current location