diff --git a/imgui.cpp b/imgui.cpp index 541dc484..88cc36dd 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -3045,8 +3045,10 @@ bool ImGui::Begin(const char* name, bool* p_opened, ImVec2 size, float fill_alph if (flags & ImGuiWindowFlags_ChildWindow) { IM_ASSERT((flags & ImGuiWindowFlags_NoTitleBar) != 0); + window->Collapsed = parent_window && parent_window->Collapsed; + const ImVec4 clip_rect_t = window->ClipRectStack.back(); - window->Collapsed = (clip_rect_t.x >= clip_rect_t.z || clip_rect_t.y >= clip_rect_t.w); + window->Collapsed |= (clip_rect_t.x >= clip_rect_t.z || clip_rect_t.y >= clip_rect_t.w); // We also hide the window from rendering because we've already added its border to the command list. // (we could perform the check earlier in the function but it is simpler at this point)