Skip to content

Commit

Permalink
Fix sysutil_send_system_cmd at Emu.Stop()
Browse files Browse the repository at this point in the history
  • Loading branch information
elad335 committed Mar 12, 2021
1 parent 140c5bf commit 06702ec
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
2 changes: 1 addition & 1 deletion rpcs3/Emu/Cell/Modules/cellSysutil.cpp
Expand Up @@ -57,7 +57,7 @@ extern void sysutil_register_cb(std::function<s32(ppu_thread&)>&& cb)

extern void sysutil_send_system_cmd(u64 status, u64 param)
{
if (auto& cbm = g_fxo->get<sysutil_cb_manager>(); g_fxo->is_init<sysutil_cb_manager>() && !Emu.IsStopped())
if (auto& cbm = g_fxo->get<sysutil_cb_manager>(); g_fxo->is_init<sysutil_cb_manager>())
{
for (sysutil_cb_manager::registered_cb cb : cbm.callbacks)
{
Expand Down
15 changes: 12 additions & 3 deletions rpcs3/rpcs3qt/main_window.cpp
Expand Up @@ -1373,6 +1373,11 @@ void main_window::OnEmuStop()
}
ui->actionManage_Users->setEnabled(true);

if (std::exchange(m_sys_menu_opened, false))
{
ui->sysSendOpenMenuAct->setText(tr("Send open system menu cmd"));
}

// Refresh game list in order to update time played
if (m_game_list_frame)
{
Expand Down Expand Up @@ -1781,15 +1786,19 @@ void main_window::CreateConnects()
connect(ui->sysStopAct, &QAction::triggered, [this]() { Emu.Stop(); });
connect(ui->sysRebootAct, &QAction::triggered, [this]() { Emu.Restart(); });

connect(ui->sysSendOpenMenuAct, &QAction::triggered, [this]()
connect(ui->sysSendOpenMenuAct, &QAction::triggered, this, [this]()
{
if (Emu.IsStopped()) return;

sysutil_send_system_cmd(m_sys_menu_opened ? 0x0132 /* CELL_SYSUTIL_SYSTEM_MENU_CLOSE */ : 0x0131 /* CELL_SYSUTIL_SYSTEM_MENU_OPEN */, 0);
m_sys_menu_opened = !m_sys_menu_opened;
m_sys_menu_opened ^= true;
ui->sysSendOpenMenuAct->setText(tr("Send &%0 system menu cmd").arg(m_sys_menu_opened ? tr("close") : tr("open")));
});

connect(ui->sysSendExitAct, &QAction::triggered, [this]()
connect(ui->sysSendExitAct, &QAction::triggered, this, []()
{
if (Emu.IsStopped()) return;

sysutil_send_system_cmd(0x0101 /* CELL_SYSUTIL_REQUEST_EXITGAME */, 0);
});

Expand Down

0 comments on commit 06702ec

Please sign in to comment.