diff --git a/src/common/discord_rpc_handler.h b/src/common/discord_rpc_handler.h index b700dc7bf..1e451e181 100644 --- a/src/common/discord_rpc_handler.h +++ b/src/common/discord_rpc_handler.h @@ -20,11 +20,6 @@ class RPC { RPCStatus status; public: - static RPC& getInstance() { - static RPC instance; - return instance; - } - void init(); void setStatusIdling(); void setStatusPlaying(const std::string& game_name, const std::string& game_id); diff --git a/src/emulator.cpp b/src/emulator.cpp index c2d126382..d35815e25 100644 --- a/src/emulator.cpp +++ b/src/emulator.cpp @@ -213,10 +213,11 @@ void Emulator::Run(const std::filesystem::path& file) { // Discord RPC if (Config::getEnableDiscordRPC()) { - if (DiscordRPCHandler::RPC::getInstance().getRPCEnabled() == false) { - DiscordRPCHandler::RPC::getInstance().init(); + auto* rpc = Common::Singleton::Instance(); + if (rpc->getRPCEnabled() == false) { + rpc->init(); } - DiscordRPCHandler::RPC::getInstance().setStatusPlaying(game_info.title, id); + rpc->setStatusPlaying(game_info.title, id); } // start execution diff --git a/src/qt_gui/main_window.cpp b/src/qt_gui/main_window.cpp index ccb4486ab..889ac157f 100644 --- a/src/qt_gui/main_window.cpp +++ b/src/qt_gui/main_window.cpp @@ -72,8 +72,9 @@ bool MainWindow::Init() { // Initialize Discord RPC if (Config::getEnableDiscordRPC()) { - DiscordRPCHandler::RPC::getInstance().init(); - DiscordRPCHandler::RPC::getInstance().setStatusIdling(); + auto* rpc = Common::Singleton::Instance(); + rpc->init(); + rpc->setStatusIdling(); } return true; diff --git a/src/qt_gui/settings_dialog.cpp b/src/qt_gui/settings_dialog.cpp index f3a151415..2759e20fa 100644 --- a/src/qt_gui/settings_dialog.cpp +++ b/src/qt_gui/settings_dialog.cpp @@ -154,11 +154,12 @@ SettingsDialog::SettingsDialog(std::span physical_devices, QWidge connect(ui->discordRPCCheckbox, &QCheckBox::stateChanged, this, [](int val) { Config::setEnableDiscordRPC(val); - if (val) { - DiscordRPCHandler::RPC::getInstance().init(); - DiscordRPCHandler::RPC::getInstance().setStatusIdling(); + auto* rpc = Common::Singleton::Instance(); + if (val == Qt::Checked) { + rpc->init(); + rpc->setStatusIdling(); } else { - DiscordRPCHandler::RPC::getInstance().shutdown(); + rpc->shutdown(); } }); }