mirror of
https://github.com/overte-org/overte.git
synced 2025-08-13 11:59:47 +02:00
parent
069c85c7c2
commit
8612302f07
1 changed files with 26 additions and 27 deletions
|
@ -827,28 +827,26 @@ void NodeList::ignoreNodeBySessionID(const QUuid& nodeID, bool ignoreEnabled) {
|
|||
});
|
||||
|
||||
if (ignoreEnabled) {
|
||||
// add this nodeID to our set of ignored IDs
|
||||
_ignoredSetLock.lockForRead();
|
||||
_ignoredNodeIDs.insert(nodeID);
|
||||
_ignoredSetLock.unlock();
|
||||
|
||||
// add this nodeID to our set of personal muted IDs
|
||||
_personalMutedSetLock.lockForRead();
|
||||
_personalMutedNodeIDs.insert(nodeID);
|
||||
_personalMutedSetLock.unlock();
|
||||
|
||||
{
|
||||
QReadLocker ignoredSetLocker{ &_ignoredSetLock }; // read lock for insert
|
||||
// add this nodeID to our set of ignored IDs
|
||||
_ignoredNodeIDs.insert(nodeID);
|
||||
}
|
||||
{
|
||||
QReadLocker personalMutedSetLocker{ &_personalMutedSetLock }; // read lock for insert
|
||||
// add this nodeID to our set of personal muted IDs
|
||||
_personalMutedNodeIDs.insert(nodeID);
|
||||
}
|
||||
emit ignoredNode(nodeID, true);
|
||||
} else {
|
||||
// write lock for unsafe_erase
|
||||
_ignoredSetLock.lockForWrite();
|
||||
_ignoredNodeIDs.unsafe_erase(nodeID);
|
||||
_ignoredSetLock.unlock();
|
||||
|
||||
// write lock for unsafe_erase
|
||||
_personalMutedSetLock.lockForWrite();
|
||||
_personalMutedNodeIDs.unsafe_erase(nodeID);
|
||||
_personalMutedSetLock.unlock();
|
||||
|
||||
{
|
||||
QWriteLocker ignoredSetLocker{ &_ignoredSetLock }; // write lock for unsafe_erase
|
||||
_ignoredNodeIDs.unsafe_erase(nodeID);
|
||||
}
|
||||
{
|
||||
QWriteLocker personalMutedSetLocker{ &_personalMutedSetLock }; // write lock for unsafe_erase
|
||||
_personalMutedNodeIDs.unsafe_erase(nodeID);
|
||||
}
|
||||
emit ignoredNode(nodeID, false);
|
||||
}
|
||||
|
||||
|
@ -860,13 +858,14 @@ void NodeList::ignoreNodeBySessionID(const QUuid& nodeID, bool ignoreEnabled) {
|
|||
void NodeList::removeFromIgnoreMuteSets(const QUuid& nodeID) {
|
||||
// don't remove yourself, or nobody
|
||||
if (!nodeID.isNull() && _sessionUUID != nodeID) {
|
||||
_ignoredSetLock.lockForWrite();
|
||||
_ignoredNodeIDs.unsafe_erase(nodeID);
|
||||
_ignoredSetLock.unlock();
|
||||
|
||||
_personalMutedSetLock.lockForWrite();
|
||||
_personalMutedNodeIDs.unsafe_erase(nodeID);
|
||||
_personalMutedSetLock.unlock();
|
||||
{
|
||||
QWriteLocker ignoredSetLocker{ &_ignoredSetLock };
|
||||
_ignoredNodeIDs.unsafe_erase(nodeID);
|
||||
}
|
||||
{
|
||||
QWriteLocker personalMutedSetLocker{ &_personalMutedSetLock };
|
||||
_personalMutedNodeIDs.unsafe_erase(nodeID);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue