diff --git a/LibGUI/GDialog.cpp b/LibGUI/GDialog.cpp index 78f7df2184..d72b73c198 100644 --- a/LibGUI/GDialog.cpp +++ b/LibGUI/GDialog.cpp @@ -1,5 +1,6 @@ #include #include +#include GDialog::GDialog(CObject* parent) : GWindow(parent) @@ -16,12 +17,14 @@ int GDialog::exec() { ASSERT(!m_event_loop); m_event_loop = make(); + auto new_rect = rect(); if (parent() && parent()->is_window()) { auto& parent_window = *static_cast(parent()); - auto new_rect = rect(); new_rect.center_within(parent_window.rect()); - set_rect(new_rect); + } else { + new_rect.center_within(GDesktop::the().rect()); } + set_rect(new_rect); show(); auto result = m_event_loop->exec(); m_event_loop = nullptr;