Fix crash due to nested transaction

pull/15/head
Niels Andriesse 6 years ago
parent 5800222606
commit 9d3a9f9b78

@ -701,13 +701,14 @@ ConversationColorName const kConversationColorName_Default = ConversationColorNa
- (void)updateFriendRequestStatusWithTransaction:(YapDatabaseReadWriteTransaction *)transaction - (void)updateFriendRequestStatusWithTransaction:(YapDatabaseReadWriteTransaction *)transaction
{ {
OWSLogInfo(@"[Loki] updateFriendRequestStatus"); OWSLogInfo(@"[Loki] updateFriendRequestStatus");
NSUInteger numberOfInteractions = self.numberOfInteractions; YapDatabaseViewTransaction *interactions = [transaction ext:TSMessageDatabaseViewExtensionName];
if (numberOfInteractions == 0) { NSUInteger interactionCount = [interactions numberOfItemsInGroup:self.uniqueId];
if (interactionCount == 0) {
_friendRequestStatus = TSThreadFriendRequestStatusNone; _friendRequestStatus = TSThreadFriendRequestStatusNone;
} else if (numberOfInteractions == 1) { } else if (interactionCount == 1) {
YapDatabaseViewTransaction *interactions = [transaction ext:TSMessageDatabaseViewExtensionName];
TSInteraction *interaction = [interactions firstObjectInGroup:self.uniqueId]; TSInteraction *interaction = [interactions firstObjectInGroup:self.uniqueId];
_friendRequestStatus = interaction.interactionType == OWSInteractionType_IncomingMessage ? TSThreadFriendRequestStatusRequestReceived : TSThreadFriendRequestStatusRequestSent; BOOL isIncomingMessage = interaction.interactionType == OWSInteractionType_IncomingMessage;
_friendRequestStatus = isIncomingMessage ? TSThreadFriendRequestStatusRequestReceived : TSThreadFriendRequestStatusRequestSent;
} else { } else {
_friendRequestStatus = TSThreadFriendRequestStatusFriends; _friendRequestStatus = TSThreadFriendRequestStatusFriends;
} }

Loading…
Cancel
Save