Reworked the property system and fixed a crash
This commit is contained in:
@@ -76,12 +76,12 @@ bool VirtualServer::registerClient(shared_ptr<ConnectedClient> client) {
|
||||
|
||||
|
||||
if(client->getType() == ClientType::CLIENT_TEAMSPEAK || client->getType() == ClientType::CLIENT_WEB) {
|
||||
this->properties()[property::VIRTUALSERVER_CLIENT_CONNECTIONS] ++; //increase manager connections
|
||||
this->properties()[property::VIRTUALSERVER_CLIENT_CONNECTIONS].increment_by<uint64_t>(1); //increase manager connections
|
||||
this->properties()[property::VIRTUALSERVER_LAST_CLIENT_CONNECT] = duration_cast<seconds>(system_clock::now().time_since_epoch()).count();
|
||||
}
|
||||
else if(client->getType() == ClientType::CLIENT_QUERY) {
|
||||
this->properties()[property::VIRTUALSERVER_LAST_QUERY_CONNECT] = duration_cast<seconds>(system_clock::now().time_since_epoch()).count();
|
||||
this->properties()[property::VIRTUALSERVER_QUERY_CLIENT_CONNECTIONS] ++; //increase manager connections
|
||||
this->properties()[property::VIRTUALSERVER_QUERY_CLIENT_CONNECTIONS].increment_by<uint64_t>(1); //increase manager connections
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -567,7 +567,8 @@ void VirtualServer::client_move(
|
||||
this->groups->setChannelGroup(target->getClientDatabaseId(), nullptr, s_source_channel);
|
||||
}
|
||||
|
||||
auto update = target->properties()[property::CLIENT_IS_TALKER].as<bool>() || target->properties()[property::CLIENT_TALK_REQUEST].as<int64_t>() > 0;
|
||||
auto update = target->properties()[property::CLIENT_IS_TALKER].as_or<bool>(false) ||
|
||||
target->properties()[property::CLIENT_TALK_REQUEST].as_or<int64_t>(0) > 0;
|
||||
if(update) {
|
||||
target->properties()[property::CLIENT_IS_TALKER] = 0;
|
||||
target->properties()[property::CLIENT_TALK_REQUEST] = 0;
|
||||
|
||||
Reference in New Issue
Block a user