diff --git a/cockatrice/src/tab_supervisor.cpp b/cockatrice/src/tab_supervisor.cpp index 768c7d878..33a057ad2 100644 --- a/cockatrice/src/tab_supervisor.cpp +++ b/cockatrice/src/tab_supervisor.cpp @@ -450,18 +450,27 @@ void TabSupervisor::processUserMessageEvent(const Event_UserMessage &event) UserListTWI *twi = tabUserLists->getAllUsersList()->getUsers().value(senderName); - ServerInfo_User otherUser; + ServerInfo_User Self; if (twi) - otherUser = twi->getUserInfo(); + Self = twi->getUserInfo(); else - otherUser.set_name(senderName.toStdString()); + Self.set_name(senderName.toStdString()); UserLevelFlags SelfLevel = UserLevelFlags(Self.user_level()); - if (settingsCache->getIgnoreUnregisteredUsers() && !SelfLevel.testFlag(ServerInfo_User::IsUser)) || !SelfLevel.testFlag(ServerInfo_User::IsRegistered)) || !SelfLevel.testFlag(ServerInfo_User::IsModerator)) || !SelfLevel.testFlag(ServerInfo_User::IsAdmin)) + if (settingsCache->getIgnoreUnregisteredUsers() && !SelfLevel.testFlag(ServerInfo_User::IsUser)) return; + if (settingsCache->getIgnoreUnregisteredUsers() && !SelfLevel.testFlag(ServerInfo_User::IsRegistered)) + return; + + if (settingsCache->getIgnoreUnregisteredUsers() && !SelfLevel.testFlag(ServerInfo_User::IsModerator)) + return; + + if (settingsCache->getIgnoreUnregisteredUsers() && !SelfLevel.testFlag(ServerInfo_User::IsAdmin)) + return; + TabMessage *tab = messageTabs.value(senderName); if (!tab) tab = messageTabs.value(QString::fromStdString(event.receiver_name()));