Disabled items more consistently release active id if the active item got disabled. (#211)

This commit is contained in:
ocornut 2021-07-09 19:15:47 +02:00
parent ba1c8464ef
commit 29525255f3
2 changed files with 5 additions and 0 deletions

View File

@ -56,6 +56,7 @@ Other Changes:
- Drag and Drop: drop target highlight doesn't try to bypass host clipping rectangle. (#4281, #3272) - Drag and Drop: drop target highlight doesn't try to bypass host clipping rectangle. (#4281, #3272)
- Menus: MenuItem() and BeginMenu() are not affected/overlapping when style.SelectableTextAlign is altered. - Menus: MenuItem() and BeginMenu() are not affected/overlapping when style.SelectableTextAlign is altered.
- Nav: Disabled items are not candidate for default focus. (#211, #787) - Nav: Disabled items are not candidate for default focus. (#211, #787)
- Disabled: disabled mode more consistently release active id if the active item got disabled. (#211)
- Fixed printf-style format checks on non-MinGW flavors. (#4183, #3592) - Fixed printf-style format checks on non-MinGW flavors. (#4183, #3592)
- Fonts: Functions with a 'float size_pixels' parameter can accept zero if it is set in ImFontSize::SizePixels. - Fonts: Functions with a 'float size_pixels' parameter can accept zero if it is set in ImFontSize::SizePixels.
- Fonts: Prefer using U+FFFD character for fallback instead of '?', if available. (#4269) - Fonts: Prefer using U+FFFD character for fallback instead of '?', if available. (#4269)

View File

@ -611,6 +611,10 @@ 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 // Process while held
bool held = false; bool held = false;
if (g.ActiveId == id) if (g.ActiveId == id)