RangeSelect/MultiSelect: Fixed right-click handling in MultiSelectItemFooter() when not focused.

features/range_select
ocornut ago%!(EXTRA string=2 years)
parent 4141d6fba6
commit 1c7f3590a2
  1. 7
      imgui_widgets.cpp

@ -7215,7 +7215,11 @@ void ImGui::MultiSelectItemFooter(ImGuiID id, bool* p_selected, bool* p_pressed)
ImGuiMultiSelectState* storage = ms->Storage;
if (pressed)
ms->IsFocused = true;
if (!ms->IsFocused)
bool hovered = false;
if (g.LastItemData.StatusFlags & ImGuiItemStatusFlags_HoveredRect)
hovered = IsItemHovered(ImGuiHoveredFlags_AllowWhenBlockedByPopup);
if (!ms->IsFocused && !hovered)
return;
void* item_data = (void*)g.NextItemData.SelectionUserData;
@ -7241,7 +7245,6 @@ void ImGui::MultiSelectItemFooter(ImGuiID id, bool* p_selected, bool* p_pressed)
// Right-click handling: this could be moved at the Selectable() level.
// FIXME-MULTISELECT: See https://github.com/ocornut/imgui/pull/5816
bool hovered = IsItemHovered(ImGuiHoveredFlags_AllowWhenBlockedByPopup);
if (hovered && IsMouseClicked(1))
{
if (g.ActiveId != 0 && g.ActiveId != id)

Loading…
Cancel
Save