diff --git a/server/TracyView.cpp b/server/TracyView.cpp index 6e719da2..bbaa636b 100644 --- a/server/TracyView.cpp +++ b/server/TracyView.cpp @@ -2859,12 +2859,13 @@ static Vector::iterator GetNextLockEvent( const Vector:: { if( (*next)->lockCount != 0 ) { + const auto wait = (*next)->waitList | (*next)->waitShared; if( GetThreadBit( (*next)->lockingThread ) == threadBit ) { - nextState = ( AreOtherWaiting( (*next)->waitList, threadBit ) || AreOtherWaiting( (*next)->waitShared, threadBit ) ) ? LockState::HasBlockingLock : LockState::HasLock; + nextState = AreOtherWaiting( wait, threadBit ) ? LockState::HasBlockingLock : LockState::HasLock; break; } - else if( IsThreadWaiting( (*next)->waitList, threadBit ) || IsThreadWaiting( (*next)->waitShared, threadBit ) ) + else if( IsThreadWaiting( wait, threadBit ) ) { nextState = LockState::WaitLock; break; @@ -2931,7 +2932,8 @@ static Vector::iterator GetNextLockEvent( const Vector:: { if( GetThreadBit( (*next)->lockingThread ) == threadBit ) { - nextState = ( AreOtherWaiting( (*next)->waitList, threadBit ) || AreOtherWaiting( (*next)->waitShared, threadBit ) ) ? LockState::HasBlockingLock : LockState::HasLock; + const auto wait = (*next)->waitList | (*next)->waitShared; + nextState = AreOtherWaiting( wait, threadBit ) ? LockState::HasBlockingLock : LockState::HasLock; break; } if( IsThreadWaiting( (*next)->sharedList, threadBit ) )