Skip to content

Commit

Permalink
Qt: Fix game properties dialogs keeping app open
Browse files Browse the repository at this point in the history
  • Loading branch information
stenzek committed Dec 18, 2023
1 parent 8842a46 commit 2d4191f
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/duckstation-qt/mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -770,6 +770,8 @@ void MainWindow::destroySubWindows()
m_settings_window->deleteLater();
m_settings_window = nullptr;
}

SettingsWindow::closeGamePropertiesDialogs();
}

void MainWindow::populateGameListContextMenu(const GameList::Entry* entry, QWidget* parent_window, QMenu* menu)
Expand Down
9 changes: 9 additions & 0 deletions src/duckstation-qt/settingswindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -520,3 +520,12 @@ void SettingsWindow::openGamePropertiesDialog(const std::string& path, const std
dialog->setWindowTitle(window_title);
dialog->show();
}

void SettingsWindow::closeGamePropertiesDialogs()
{
for (SettingsWindow* dialog : s_open_game_properties_dialogs)
{
dialog->close();
dialog->deleteLater();
}
}
1 change: 1 addition & 0 deletions src/duckstation-qt/settingswindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ class SettingsWindow final : public QWidget
~SettingsWindow();

static void openGamePropertiesDialog(const std::string& path, const std::string& serial, DiscRegion region);
static void closeGamePropertiesDialogs();

ALWAYS_INLINE bool isPerGameSettings() const { return static_cast<bool>(m_sif); }
ALWAYS_INLINE SettingsInterface* getSettingsInterface() const { return m_sif.get(); }
Expand Down

0 comments on commit 2d4191f

Please sign in to comment.