From 246ad6c03c419560c422f5edbb0b5727fb40b405 Mon Sep 17 00:00:00 2001 From: ocornut Date: Mon, 12 Jul 2021 15:36:54 +0200 Subject: [PATCH] Disabled: items more consistently release active id if the active item got disabled. (#211) (amend 2952525) --- imgui.cpp | 3 +++ imgui_widgets.cpp | 4 ---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/imgui.cpp b/imgui.cpp index 8ae49a84..fe965775 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -3234,6 +3234,9 @@ bool ImGui::ItemHoverable(const ImRect& bb, ImGuiID id) // When disabled we'll return false but still set HoveredId if (g.CurrentItemFlags & ImGuiItemFlags_Disabled) { + // Release active id if turning disabled + if (g.ActiveId == id) + ClearActiveID(); g.HoveredIdDisabled = true; return false; } diff --git a/imgui_widgets.cpp b/imgui_widgets.cpp index 48a01ea8..f841018f 100644 --- a/imgui_widgets.cpp +++ b/imgui_widgets.cpp @@ -611,10 +611,6 @@ bool ImGui::ButtonBehavior(const ImRect& bb, ImGuiID id, bool* out_hovered, bool } } - // Release active id if turning disabled - if (g.ActiveId == id && (g.CurrentItemFlags & ImGuiItemFlags_Disabled)) - ClearActiveID(); - // Process while held bool held = false; if (g.ActiveId == id)