Popups: Fix BeginPopupContextVoid() when clicking over the area made unavailable by a modal. (#1636)
diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt
index ad07825..47995a8 100644
--- a/docs/CHANGELOG.txt
+++ b/docs/CHANGELOG.txt
@@ -54,6 +54,7 @@
Set to an intermediary value to toggle behavior based on width (same as Firefox).
- Popups: Fix an edge case where programatically closing a popup while clicking on its empty space
would attempt to focus it and close other popups. (#2880)
+- Popups: Fix BeginPopupContextVoid() when clicking over the area made unavailable by a modal. (#1636)
- Fix GetGlyphRangesKorean() end-range to end at 0xD7A3 (instead of 0xD79D). (#348, #3217) [@marukrap]
- Metrics: Added a "Settings" section with some details about persistent ini settings.
- Nav, Menus: Fix vertical wrap-around in menus or popups created with multiple appending calls to
diff --git a/imgui.cpp b/imgui.cpp
index 7358b22..496e71b 100644
--- a/imgui.cpp
+++ b/imgui.cpp
@@ -7924,7 +7924,8 @@
str_id = "void_context";
ImGuiID id = window->GetID(str_id);
if (IsMouseReleased(mouse_button) && !IsWindowHovered(ImGuiHoveredFlags_AnyWindow))
- OpenPopupEx(id);
+ if (GetTopMostPopupModal() == NULL)
+ OpenPopupEx(id);
return BeginPopupEx(id, ImGuiWindowFlags_AlwaysAutoResize|ImGuiWindowFlags_NoTitleBar|ImGuiWindowFlags_NoSavedSettings);
}