Selaa lähdekoodia

Fixed hovering over a popup's child (popups disable hovering on other windows but not their childs) #197

ocornut 10 vuotta sitten
vanhempi
commit
aca85dbea4
1 muutettua tiedostoa jossa 5 lisäystä ja 3 poistoa
  1. 5 3
      imgui.cpp

+ 5 - 3
imgui.cpp

@@ -4356,9 +4356,11 @@ static inline bool IsWindowContentHoverable(ImGuiWindow* window)
 {
     ImGuiState& g = *GImGui;
 
-    ImGuiWindow* focused_window = g.FocusedWindow;
-    if (focused_window && (focused_window->Flags & ImGuiWindowFlags_Popup) != 0 && focused_window->WasVisible && focused_window != window)
-        return false;
+    // An active popup disable hovering on other windows (apart from its own children)
+    if (ImGuiWindow* focused_window = g.FocusedWindow)
+        if (ImGuiWindow* focused_root_window = focused_window->RootWindow)
+            if ((focused_root_window->Flags & ImGuiWindowFlags_Popup) != 0 && focused_root_window->WasVisible && focused_root_window != window->RootWindow)
+                return false;
 
     return true;
 }