From a8cac70ee679c2fb7f98a455f4e8a599975e9073 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Sat, 24 Aug 2024 21:28:21 +1000 Subject: [PATCH] Qt: Ensure window is raised after recreation Should hopefully help with raw input issues. --- src/duckstation-qt/displaywidget.cpp | 13 ++++++------- src/duckstation-qt/mainwindow.cpp | 1 + 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/duckstation-qt/displaywidget.cpp b/src/duckstation-qt/displaywidget.cpp index f5e7ed19a..91adb2a1d 100644 --- a/src/duckstation-qt/displaywidget.cpp +++ b/src/duckstation-qt/displaywidget.cpp @@ -44,13 +44,7 @@ DisplayWidget::DisplayWidget(QWidget* parent) : QWidget(parent) setMouseTracking(true); } -DisplayWidget::~DisplayWidget() -{ -#ifdef _WIN32 - if (m_clip_mouse_enabled) - ClipCursor(nullptr); -#endif -} +DisplayWidget::~DisplayWidget() = default; int DisplayWidget::scaledWindowWidth() const { @@ -157,6 +151,11 @@ void DisplayWidget::destroy() { m_destroying = true; +#ifdef _WIN32 + if (m_clip_mouse_enabled) + ClipCursor(nullptr); +#endif + #ifdef __APPLE__ // See Qt documentation, entire application is in full screen state, and the main // window will get reopened fullscreen instead of windowed if we don't close the diff --git a/src/duckstation-qt/mainwindow.cpp b/src/duckstation-qt/mainwindow.cpp index bfece5b39..925245f3c 100644 --- a/src/duckstation-qt/mainwindow.cpp +++ b/src/duckstation-qt/mainwindow.cpp @@ -309,6 +309,7 @@ std::optional MainWindow::acquireRenderWindow(bool recreate_window, updateDisplayWidgetCursor(); updateDisplayRelatedActions(true, render_to_main, fullscreen); + QtUtils::ShowOrRaiseWindow(QtUtils::GetRootWidget(m_display_widget)); m_display_widget->setFocus(); return wi;