@@ -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;
}
@@ -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)