From 8afa40eaa7d55c158d71baccd693179eb9f06650 Mon Sep 17 00:00:00 2001 From: Megamouse Date: Tue, 10 Mar 2026 16:43:20 +0100 Subject: [PATCH 1/3] rpcn: Fix segfault in rpcn_settings_dialog destructor This will happen if m_rpcn failed to connect in the constructor. --- rpcs3/rpcs3qt/rpcn_settings_dialog.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rpcs3/rpcs3qt/rpcn_settings_dialog.cpp b/rpcs3/rpcs3qt/rpcn_settings_dialog.cpp index 6de6007b31..cab71be3bc 100644 --- a/rpcs3/rpcs3qt/rpcn_settings_dialog.cpp +++ b/rpcs3/rpcs3qt/rpcn_settings_dialog.cpp @@ -1347,7 +1347,10 @@ rpcn_friends_dialog::rpcn_friends_dialog(QWidget* parent) rpcn_friends_dialog::~rpcn_friends_dialog() { - m_rpcn->remove_friend_cb(friend_callback, this); + if (m_rpcn) + { + m_rpcn->remove_friend_cb(friend_callback, this); + } } bool rpcn_friends_dialog::add_friend_with_error_dialog(const std::string& friend_username) From 3803c864f747b2d64fdb4531c4a78c9c05cc1c87 Mon Sep 17 00:00:00 2001 From: Megamouse Date: Tue, 10 Mar 2026 16:26:40 +0100 Subject: [PATCH 2/3] rpcn: Fix file access error when loading rpcn.yml with version 1 The file was still in use when saving. --- rpcs3/Emu/NP/rpcn_config.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/rpcs3/Emu/NP/rpcn_config.cpp b/rpcs3/Emu/NP/rpcn_config.cpp index 0b5cabe768..6665adbf7d 100644 --- a/rpcs3/Emu/NP/rpcn_config.cpp +++ b/rpcs3/Emu/NP/rpcn_config.cpp @@ -10,8 +10,7 @@ void cfg_rpcn::load() { const std::string path = cfg_rpcn::get_path(); - fs::file cfg_file(path, fs::read); - if (cfg_file) + if (fs::file cfg_file(path, fs::read); cfg_file) { rpcn_log.notice("Loading RPCN config. Path: %s", path); from_string(cfg_file.to_string()); From 9e573a9ff2083800444251a508d9f44800b4e1e6 Mon Sep 17 00:00:00 2001 From: Megamouse Date: Tue, 10 Mar 2026 16:26:56 +0100 Subject: [PATCH 3/3] rpcn: set default version to 2 --- rpcs3/Emu/NP/rpcn_config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rpcs3/Emu/NP/rpcn_config.h b/rpcs3/Emu/NP/rpcn_config.h index 3ea6b707b1..113d83e408 100644 --- a/rpcs3/Emu/NP/rpcn_config.h +++ b/rpcs3/Emu/NP/rpcn_config.h @@ -4,7 +4,7 @@ struct cfg_rpcn : cfg::node { - cfg::uint32 version{this, "Version", 1}; + cfg::uint32 version{this, "Version", 2}; cfg::string host{this, "Host", "np.rpcs3.net"}; cfg::string npid{this, "NPID", ""}; cfg::string password{this, "Password", ""};