Fix to allow opening popup from a left-click on void or another window (because left-click would normally override focus immediately) (#126)
Neither appears to be really useful frankly.
diff --git a/imgui.cpp b/imgui.cpp
index 96920a3..735b5d3 100644
--- a/imgui.cpp
+++ b/imgui.cpp
@@ -2377,16 +2377,19 @@
// Click to focus window and start moving (after we're done with all our widgets)
if (g.ActiveId == 0 && g.HoveredId == 0 && g.IO.MouseClicked[0])
{
- if (g.HoveredRootWindow != NULL)
+ if (!(g.FocusedWindow && !g.FocusedWindow->WasActive && g.FocusedWindow->Active)) // Unless we just made a popup appear
{
- IM_ASSERT(g.MovedWindow == NULL);
- g.MovedWindow = g.HoveredWindow;
- SetActiveId(g.HoveredRootWindow->MoveID, g.HoveredRootWindow);
- }
- else if (g.FocusedWindow != NULL)
- {
- // Clicking on void disable focus
- FocusWindow(NULL);
+ if (g.HoveredRootWindow != NULL)
+ {
+ IM_ASSERT(g.MovedWindow == NULL);
+ g.MovedWindow = g.HoveredWindow;
+ SetActiveId(g.HoveredRootWindow->MoveID, g.HoveredRootWindow);
+ }
+ else if (g.FocusedWindow != NULL)
+ {
+ // Clicking on void disable focus
+ FocusWindow(NULL);
+ }
}
}