diff --git a/src/platform/qt/GBAApp.cpp b/src/platform/qt/GBAApp.cpp index c40eb42ba..f8b4456b7 100644 --- a/src/platform/qt/GBAApp.cpp +++ b/src/platform/qt/GBAApp.cpp @@ -51,10 +51,6 @@ GBAApp::GBAApp(int& argc, char* argv[]) }); m_windows[0] = w; -#ifndef Q_OS_MAC - w->show(); -#endif - GBAArguments args; if (m_configController.parseArguments(&args, argc, argv)) { w->argumentsPassed(&args); @@ -62,14 +58,12 @@ GBAApp::GBAApp(int& argc, char* argv[]) w->loadConfig(); } freeArguments(&args); + w->show(); AudioProcessor::setDriver(static_cast(m_configController.getQtOption("audioDriver").toInt())); w->controller()->reloadAudioDriver(); w->controller()->setMultiplayerController(&m_multiplayer); -#ifdef Q_OS_MAC - w->show(); -#endif } bool GBAApp::event(QEvent* event) { @@ -91,14 +85,9 @@ Window* GBAApp::newWindow() { }); m_windows[windowId] = w; w->setAttribute(Qt::WA_DeleteOnClose); -#ifndef Q_OS_MAC - w->show(); -#endif w->loadConfig(); - w->controller()->setMultiplayerController(&m_multiplayer); -#ifdef Q_OS_MAC w->show(); -#endif + w->controller()->setMultiplayerController(&m_multiplayer); return w; } diff --git a/src/platform/qt/Window.cpp b/src/platform/qt/Window.cpp index 72a7fdb91..f0c219c4b 100644 --- a/src/platform/qt/Window.cpp +++ b/src/platform/qt/Window.cpp @@ -172,6 +172,7 @@ void Window::argumentsPassed(GBAArguments* args) { void Window::resizeFrame(int width, int height) { QSize newSize(width, height); + m_screenWidget->setSizeHint(newSize); newSize -= m_screenWidget->size(); newSize += size(); resize(newSize); @@ -434,6 +435,10 @@ void Window::resizeEvent(QResizeEvent*) { m_config->setOption("fullscreen", isFullScreen()); } +void Window::showEvent(QShowEvent* event) { + resizeFrame(m_screenWidget->sizeHint().width(), m_screenWidget->sizeHint().height()); +} + void Window::closeEvent(QCloseEvent* event) { emit shutdown(); m_config->setQtOption("windowPos", pos()); diff --git a/src/platform/qt/Window.h b/src/platform/qt/Window.h index 8ae0dc1e2..0e0bfe6d4 100644 --- a/src/platform/qt/Window.h +++ b/src/platform/qt/Window.h @@ -104,6 +104,7 @@ protected: virtual void keyPressEvent(QKeyEvent* event) override; virtual void keyReleaseEvent(QKeyEvent* event) override; virtual void resizeEvent(QResizeEvent*) override; + virtual void showEvent(QShowEvent*) override; virtual void closeEvent(QCloseEvent*) override; virtual void focusInEvent(QFocusEvent*) override; virtual void focusOutEvent(QFocusEvent*) override;