Active widgets is not clipped, so it can always release its active state (mentioned in #143)

Otherwise a change in layout moving active widget to a clipped region
may lock the active id.
docking
ocornut 10 years ago
parent 9918ec31d6
commit 16ddd796f3

@ -7265,8 +7265,11 @@ static bool ItemAdd(const ImRect& bb, const ImGuiID* id)
window->DC.LastItemRect = bb; window->DC.LastItemRect = bb;
if (IsClipped(bb)) if (IsClipped(bb))
{ {
window->DC.LastItemHoveredAndUsable = window->DC.LastItemHoveredRect = false; if (!id || *id != GImGui->ActiveId)
return false; {
window->DC.LastItemHoveredAndUsable = window->DC.LastItemHoveredRect = false;
return false;
}
} }
// This is a sensible default, but widgets are free to override it after calling ItemAdd() // This is a sensible default, but widgets are free to override it after calling ItemAdd()

Loading…
Cancel
Save