diff options
author | bunnei <bunneidev@gmail.com> | 2021-05-01 21:48:41 +0200 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2021-05-06 01:40:53 +0200 |
commit | f6d45b747e37ed1871d9155fbf2d3d5099e1c1b8 (patch) | |
tree | 6cbdec08fa1006a4fd9ba21a6fe9a97ba8b47e81 /src/core/hle/kernel/k_session.cpp | |
parent | fixup! hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject. (diff) | |
download | yuzu-f6d45b747e37ed1871d9155fbf2d3d5099e1c1b8.tar yuzu-f6d45b747e37ed1871d9155fbf2d3d5099e1c1b8.tar.gz yuzu-f6d45b747e37ed1871d9155fbf2d3d5099e1c1b8.tar.bz2 yuzu-f6d45b747e37ed1871d9155fbf2d3d5099e1c1b8.tar.lz yuzu-f6d45b747e37ed1871d9155fbf2d3d5099e1c1b8.tar.xz yuzu-f6d45b747e37ed1871d9155fbf2d3d5099e1c1b8.tar.zst yuzu-f6d45b747e37ed1871d9155fbf2d3d5099e1c1b8.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/kernel/k_session.cpp | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/src/core/hle/kernel/k_session.cpp b/src/core/hle/kernel/k_session.cpp index 5e629d446..7b0bc177d 100644 --- a/src/core/hle/kernel/k_session.cpp +++ b/src/core/hle/kernel/k_session.cpp @@ -49,24 +49,30 @@ void KSession::Initialize(KClientPort* port_, const std::string& name_) { } void KSession::Finalize() { - if (port != nullptr) { - port->OnSessionFinalized(); - port->Close(); + if (port == nullptr) { + return; } + + port->OnSessionFinalized(); + port->Close(); } void KSession::OnServerClosed() { - if (GetState() == State::Normal) { - SetState(State::ServerClosed); - client.OnServerClosed(); + if (GetState() != State::Normal) { + return; } + + SetState(State::ServerClosed); + client.OnServerClosed(); } void KSession::OnClientClosed() { - if (GetState() == State::Normal) { - SetState(State::ClientClosed); - server.OnClientClosed(); + if (GetState() != State::Normal) { + return; } + + SetState(State::ClientClosed); + server.OnClientClosed(); } void KSession::PostDestroy(uintptr_t arg) { |