diff options
| author | FearlessTobi <thm.frey@gmail.com> | 2022-08-27 03:12:12 +0200 |
|---|---|---|
| committer | FearlessTobi <thm.frey@gmail.com> | 2022-08-27 03:12:12 +0200 |
| commit | 6d3dba4b981c8b3dac8d52208126627ff885fa37 (patch) | |
| tree | c2d22077de4c06f05b9f549933a3c854c83ebbe1 /src | |
| parent | d841898d4df398bd4d807239346a19658ce8e4d8 (diff) | |
core/bsd: Correctly unbind methods in destructor
Prevents yuzu from crashing when the BSD service is created a second time.
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/service/sockets/bsd.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/core/hle/service/sockets/bsd.cpp b/src/core/hle/service/sockets/bsd.cpp index e08c3cb67a..cc679cc81d 100644 --- a/src/core/hle/service/sockets/bsd.cpp +++ b/src/core/hle/service/sockets/bsd.cpp @@ -933,7 +933,11 @@ BSD::BSD(Core::System& system_, const char* name) } } -BSD::~BSD() = default; +BSD::~BSD() { + if (auto room_member = room_network.GetRoomMember().lock()) { + room_member->Unbind(proxy_packet_received); + } +} BSDCFG::BSDCFG(Core::System& system_) : ServiceFramework{system_, "bsdcfg"} { // clang-format off |
