From 093e9dc5c78474fc4d333842f7adc8344540e639 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 6de6007b317b..cab71be3bc33 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 c3aef0ca53132426443f2e6e058c32edb689fd35 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 0b5cabe768c4..6665adbf7d14 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 819f1439a7f0eb9c681a7c802dbc0d0b1a6cb500 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 3ea6b707b106..113d83e408ea 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", ""};