Disabled items more consistently release active id if the active item got disabled. (#211)
diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt
index 6daab91..a4e32d5 100644
--- a/docs/CHANGELOG.txt
+++ b/docs/CHANGELOG.txt
@@ -56,6 +56,7 @@
 - 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.
 - 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)
 - 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)
diff --git a/imgui_widgets.cpp b/imgui_widgets.cpp
index 8317425..610f7d5 100644
--- a/imgui_widgets.cpp
+++ b/imgui_widgets.cpp
@@ -611,6 +611,10 @@
         }
     }
 
+    // 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)