Merged from Navigation branch: ImGuiItemFlags_SelectableDontClosePopup flag
diff --git a/imgui.cpp b/imgui.cpp
index c791da6..49282a4 100644
--- a/imgui.cpp
+++ b/imgui.cpp
@@ -8813,7 +8813,7 @@
if (flags & ImGuiSelectableFlags_Disabled) PopStyleColor();
// Automatically close popups
- if (pressed && !(flags & ImGuiSelectableFlags_DontClosePopups) && (window->Flags & ImGuiWindowFlags_Popup))
+ if (pressed && (window->Flags & ImGuiWindowFlags_Popup) && !(flags & ImGuiSelectableFlags_DontClosePopups) && !(window->DC.ItemFlags & ImGuiItemFlags_SelectableDontClosePopup))
CloseCurrentPopup();
return pressed;
}
diff --git a/imgui_internal.h b/imgui_internal.h
index 7687c39..84eec71 100644
--- a/imgui_internal.h
+++ b/imgui_internal.h
@@ -580,8 +580,8 @@
ImGuiItemFlags_ButtonRepeat = 1 << 1, // false // Button() will return true multiple times based on io.KeyRepeatDelay and io.KeyRepeatRate settings.
//ImGuiItemFlags_Disabled = 1 << 2, // false // All widgets appears are disabled
//ImGuiItemFlags_AllowNavDefaultFocus = 1 << 3, // true
- //ImGuiItemFlags_SelectableDontClosePopup = 1 << 4, // false // MenuItem/Selectable() automatically closes current Popup window
- ImGuiItemFlags_Default_ = ImGuiItemFlags_AllowKeyboardFocus
+ ImGuiItemFlags_SelectableDontClosePopup = 1 << 4, // false // MenuItem/Selectable() automatically closes current Popup window
+ ImGuiItemFlags_Default_ = ImGuiItemFlags_AllowKeyboardFocus
};
// Transient per-window data, reset at the beginning of the frame