Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code from accessing keys. (#5888, #4921, #456)
Amend 4448d97. This is more consistent with input owner design.
diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt
index d48152d..80901da 100644
--- a/docs/CHANGELOG.txt
+++ b/docs/CHANGELOG.txt
@@ -35,7 +35,9 @@
VERSION 1.89.1 (In Progress)
-----------------------------------------------------------------------
- - Inputs: fix moving a window or drag and dropping from capture mods. (#5888, #4921, #456)
+- Inputs: fixed moving a window or drag and dropping from preventing input-owner-unaware code
+ from accessing keys. (#5888, #4921, #456)
+- Inputs: fixed moving a window or drag and dropping from capturing mods. (#5888, #4921, #456)
-----------------------------------------------------------------------
diff --git a/imgui.cpp b/imgui.cpp
index 83cfd7d..51a1cf1 100644
--- a/imgui.cpp
+++ b/imgui.cpp
@@ -8537,7 +8537,7 @@
ImGuiKeyOwnerData* owner_data = GetKeyOwnerData(key);
ImGuiID owner_id = owner_data->OwnerCurr;
- if (g.ActiveIdUsingAllKeyboardKeys && owner_id != g.ActiveId)
+ if (g.ActiveIdUsingAllKeyboardKeys && owner_id != g.ActiveId && owner_id != ImGuiKeyOwner_Any)
if (key >= ImGuiKey_Keyboard_BEGIN && key < ImGuiKey_Keyboard_END)
return ImGuiKeyOwner_None;
@@ -8554,7 +8554,7 @@
return true;
ImGuiContext& g = *GImGui;
- if (g.ActiveIdUsingAllKeyboardKeys && owner_id != g.ActiveId)
+ if (g.ActiveIdUsingAllKeyboardKeys && owner_id != g.ActiveId && owner_id != ImGuiKeyOwner_Any)
if (key >= ImGuiKey_Keyboard_BEGIN && key < ImGuiKey_Keyboard_END)
return false;