Docking: Fixed bad bug, dock node host wouldn't merge background. (#6753, #6716)

Fixes f422e78. Didn't crash because g.Windows[] is always larger than g.WindowsFocusOrder[].
diff --git a/imgui.cpp b/imgui.cpp
index 7bce4e4..059d8c3 100644
--- a/imgui.cpp
+++ b/imgui.cpp
@@ -5341,20 +5341,16 @@
     CallContextHooks(&g, ImGuiContextHookType_RenderPre);
 
     // Add background ImDrawList (for each active viewport)
-    for (int n = 0; n != g.Viewports.Size; n++)
+    for (ImGuiViewportP* viewport : g.Viewports)
     {
-        ImGuiViewportP* viewport = g.Viewports[n];
         InitViewportDrawData(viewport);
         if (viewport->BgFgDrawLists[0] != NULL)
             AddDrawListToDrawDataEx(&viewport->DrawDataP, viewport->DrawDataBuilder.Layers[0], GetBackgroundDrawList(viewport));
     }
 
-    for (int n = 0; n != g.WindowsFocusOrder.Size; n++)
-    {
-        ImGuiWindow* window = g.Windows[n];
+    for (ImGuiWindow* window : g.WindowsFocusOrder)
         if (window->Flags & ImGuiWindowFlags_DockNodeHost)
             window->DrawList->ChannelsMerge();
-    }
 
     // Draw modal/window whitening backgrounds
     RenderDimmedBackgrounds();