Modals: fixed issue hovering popups inside a child inside a modal. Fixed IsWindowFocused()/IsWindowHovered() issues with childs inside popups. (#4676)(#4676, #4527)

Amend/fix 6b1e094f, fc4988ffb (Sep 24)
diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt
index 90033f7..0ae0d0b 100644
--- a/docs/CHANGELOG.txt
+++ b/docs/CHANGELOG.txt
@@ -39,6 +39,8 @@
 Other Changes:
 
 - Added IsMouseTripleClicked() function. Tracking multi-click count in IO structure. (#3229) [@kudaba]
+- Modals: fixed issue hovering popups inside a child inside a modal. (#4676, #4527)
+- Fixed IsWindowFocused()/IsWindowHovered() issues with childs inside popups. (#4676)
 - InputText: made double-click select word, triple-line select line. Word delimitation logic differs
   slightly from the one used by CTRL+arrows. (#2244)
 - Backends: Vulkan: Call vkCmdSetScissor() at the end of render with a full-viewport to reduce
diff --git a/imgui.cpp b/imgui.cpp
index 880c933..912d6c9 100644
--- a/imgui.cpp
+++ b/imgui.cpp
@@ -6719,9 +6719,14 @@
 
 static ImGuiWindow* GetCombinedRootWindow(ImGuiWindow* window, bool popup_hierarchy)
 {
-    window = window->RootWindow;
-    if (popup_hierarchy)
-        window = window->RootWindowPopupTree;
+    ImGuiWindow* last_window = NULL;
+    while (last_window != window)
+    {
+        last_window = window;
+        window = window->RootWindow;
+        if (popup_hierarchy)
+            window = window->RootWindowPopupTree;
+    }
     return window;
 }