From fe0e00c505f9598eefcdaaf20a4064819ff2d062 Mon Sep 17 00:00:00 2001 From: John <63141077+AconiteX@users.noreply.github.com> Date: Sun, 3 Oct 2021 08:52:45 -0400 Subject: [PATCH] Update ChatAvatarService.cpp --- src/stationchat/ChatAvatarService.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/stationchat/ChatAvatarService.cpp b/src/stationchat/ChatAvatarService.cpp index 0de85a3..d2f2420 100755 --- a/src/stationchat/ChatAvatarService.cpp +++ b/src/stationchat/ChatAvatarService.cpp @@ -72,12 +72,15 @@ void ChatAvatarService::LoginAvatar(ChatAvatar* avatar) { } void ChatAvatarService::LogoutAvatar(ChatAvatar* avatar) { - avatar->isOnline_ = false; + if(avatar->isOnline_) // bug fix for redundant logout checks that cause crashes + { + avatar->isOnline_ = false; - onlineAvatars_.erase(std::remove_if( - std::begin(onlineAvatars_), std::end(onlineAvatars_), [avatar](auto onlineAvatar) { - return onlineAvatar->GetAvatarId() == avatar->GetAvatarId(); - })); + onlineAvatars_.erase(std::remove_if( + std::begin(onlineAvatars_), std::end(onlineAvatars_), [avatar](auto onlineAvatar) { + return onlineAvatar->GetAvatarId() == avatar->GetAvatarId(); + })); + } } void ChatAvatarService::PersistAvatar(const ChatAvatar* avatar) { UpdateAvatar(avatar); }