From 564d4c3c2519b0c2cb5dd66d1411719dfb5f4551 Mon Sep 17 00:00:00 2001 From: TryTwo Date: Wed, 22 May 2024 21:08:26 -0700 Subject: [PATCH] MainWindow: Initialize geometries before calling GetWindowSystemInfo. On Windows: wsi.render_window being set will set/save the initial geometry, which will cause sizing bugs until it's set again by the user resizing/repositioning. --- Source/Core/DolphinQt/MainWindow.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Source/Core/DolphinQt/MainWindow.cpp b/Source/Core/DolphinQt/MainWindow.cpp index c8e04a0fd0..95343b12f1 100644 --- a/Source/Core/DolphinQt/MainWindow.cpp +++ b/Source/Core/DolphinQt/MainWindow.cpp @@ -227,8 +227,6 @@ MainWindow::MainWindow(std::unique_ptr boot_parameters, setAcceptDrops(true); setAttribute(Qt::WA_NativeWindow); - InitControllers(); - CreateComponents(); ConnectGameList(); @@ -237,6 +235,13 @@ MainWindow::MainWindow(std::unique_ptr boot_parameters, ConnectRenderWidget(); ConnectStack(); ConnectMenuBar(); + + QSettings& settings = Settings::GetQSettings(); + restoreState(settings.value(QStringLiteral("mainwindow/state")).toByteArray()); + restoreGeometry(settings.value(QStringLiteral("mainwindow/geometry")).toByteArray()); + show(); + + InitControllers(); ConnectHotkeys(); #if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0) @@ -289,11 +294,6 @@ MainWindow::MainWindow(std::unique_ptr boot_parameters, m_state_slot = std::clamp(Settings::Instance().GetStateSlot(), 1, static_cast(State::NUM_STATES)); - QSettings& settings = Settings::GetQSettings(); - - restoreState(settings.value(QStringLiteral("mainwindow/state")).toByteArray()); - restoreGeometry(settings.value(QStringLiteral("mainwindow/geometry")).toByteArray()); - m_render_widget_geometry = settings.value(QStringLiteral("renderwidget/geometry")).toByteArray(); // Restoring of window states can sometimes go wrong, resulting in widgets being visible when they