mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-28 13:28:01 +03:00
Merge e752e66cb8
into 2afd7707fe
This commit is contained in:
commit
ce52d6decd
5 changed files with 17 additions and 0 deletions
|
@ -231,6 +231,11 @@ void game_list_frame::LoadSettings()
|
||||||
}
|
}
|
||||||
|
|
||||||
game_list_frame::~game_list_frame()
|
game_list_frame::~game_list_frame()
|
||||||
|
{
|
||||||
|
StopAllThreads();
|
||||||
|
}
|
||||||
|
|
||||||
|
void game_list_frame::StopAllThreads()
|
||||||
{
|
{
|
||||||
WaitAndAbortSizeCalcThreads();
|
WaitAndAbortSizeCalcThreads();
|
||||||
WaitAndAbortRepaintThreads();
|
WaitAndAbortRepaintThreads();
|
||||||
|
|
|
@ -35,6 +35,8 @@ public:
|
||||||
explicit game_list_frame(std::shared_ptr<gui_settings> gui_settings, std::shared_ptr<emu_settings> emu_settings, std::shared_ptr<persistent_settings> persistent_settings, QWidget* parent = nullptr);
|
explicit game_list_frame(std::shared_ptr<gui_settings> gui_settings, std::shared_ptr<emu_settings> emu_settings, std::shared_ptr<persistent_settings> persistent_settings, QWidget* parent = nullptr);
|
||||||
~game_list_frame();
|
~game_list_frame();
|
||||||
|
|
||||||
|
void StopAllThreads();
|
||||||
|
|
||||||
/** Refresh the gamelist with/without loading game data from files. Public so that main frame can refresh after vfs or install */
|
/** Refresh the gamelist with/without loading game data from files. Public so that main frame can refresh after vfs or install */
|
||||||
void Refresh(const bool from_drive = false, const std::vector<std::string>& serials_to_remove_from_yml = {}, const bool scroll_after = true);
|
void Refresh(const bool from_drive = false, const std::vector<std::string>& serials_to_remove_from_yml = {}, const bool scroll_after = true);
|
||||||
|
|
||||||
|
|
|
@ -265,6 +265,13 @@ bool main_window::Init([[maybe_unused]] bool with_cli_boot)
|
||||||
ui->menuBar->cornerWidget()->setVisible(update_available);
|
ui->menuBar->cornerWidget()->setVisible(update_available);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
connect(&m_updater, &update_manager::signal_about_to_terminate, this, [this]()
|
||||||
|
{
|
||||||
|
if (m_game_list_frame)
|
||||||
|
{
|
||||||
|
m_game_list_frame->StopAllThreads();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
#ifdef RPCS3_UPDATE_SUPPORTED
|
#ifdef RPCS3_UPDATE_SUPPORTED
|
||||||
if (const auto update_value = m_gui_settings->GetValue(gui::m_check_upd_start).toString(); update_value != gui::update_off)
|
if (const auto update_value = m_gui_settings->GetValue(gui::m_check_upd_start).toString(); update_value != gui::update_off)
|
||||||
|
|
|
@ -766,6 +766,8 @@ bool update_manager::handle_rpcs3(const QByteArray& data, bool auto_accept)
|
||||||
m_gui_settings->sync(); // Make sure to sync before terminating RPCS3
|
m_gui_settings->sync(); // Make sure to sync before terminating RPCS3
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Q_EMIT signal_about_to_terminate();
|
||||||
|
|
||||||
Emu.GracefulShutdown(false);
|
Emu.GracefulShutdown(false);
|
||||||
Emu.CleanUp();
|
Emu.CleanUp();
|
||||||
|
|
||||||
|
|
|
@ -45,4 +45,5 @@ public:
|
||||||
|
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
void signal_update_available(bool update_available);
|
void signal_update_available(bool update_available);
|
||||||
|
void signal_about_to_terminate();
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue