Fix crash

This commit is contained in:
Niels Andriesse 2019-05-27 13:11:25 +10:00
parent 521cfd360d
commit a11074ba5a
5 changed files with 8 additions and 9 deletions

View File

@ -87,7 +87,7 @@ typedef void (^BuildOutgoingMessageCompletionBlock)(TSOutgoingMessage *savedMess
+ (LKEphemeralMessage *)enqueueAcceptFriendRequestMessageInThread:(TSThread *)thread
{
LKEphemeralMessage *emptyMessage = [LKEphemeralMessage createEmptyOutgoingMessageInThread:thread];
LKEphemeralMessage *emptyMessage = [[LKEphemeralMessage alloc] initInThread:thread];
[self.dbConnection asyncReadWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) {
[self.messageSenderJobQueue addMessage:emptyMessage transaction:transaction];
}];

View File

@ -15,7 +15,7 @@
- (instancetype)initInThread:(nullable TSThread *)thread address:(NSString *)address port:(uint16_t)port isPing:(bool)isPing
{
self = [LKEphemeralMessage createEmptyOutgoingMessageInThread:thread];
self = [super initInThread:thread];
if (self) {
_address = address;
_port = port;

View File

@ -5,8 +5,7 @@ NS_ASSUME_NONNULL_BEGIN
NS_SWIFT_NAME(EphemeralMessage)
@interface LKEphemeralMessage : TSOutgoingMessage
/// Used for e.g. session initialization.
+ (LKEphemeralMessage *)createEmptyOutgoingMessageInThread:(TSThread *)thread;
- (instancetype)initInThread:(nullable TSThread *)thread;
@end

View File

@ -3,8 +3,8 @@
@implementation LKEphemeralMessage
+ (LKEphemeralMessage *)createEmptyOutgoingMessageInThread:(TSThread *)thread {
return [[LKEphemeralMessage alloc] initOutgoingMessageWithTimestamp:NSDate.ows_millisecondTimeStamp inThread:thread messageBody:@"" attachmentIds:[NSMutableArray<NSString *> new]
- (instancetype)initInThread:(nullable TSThread *)thread {
return [self initOutgoingMessageWithTimestamp:NSDate.ows_millisecondTimeStamp inThread:thread messageBody:@"" attachmentIds:[NSMutableArray<NSString *> new]
expiresInSeconds:0 expireStartedAt:0 isVoiceMessage:NO groupMetaMessage:TSGroupMetaMessageUnspecified quotedMessage:nil contactShare:nil linkPreview:nil];
}

View File

@ -1029,7 +1029,7 @@ NS_ASSUME_NONNULL_BEGIN
[thread saveWithTransaction:transaction];
// Loki: Send an empty message to trigger the session reset code for both parties
LKEphemeralMessage *emptyMessage = [LKEphemeralMessage createEmptyOutgoingMessageInThread:thread];
LKEphemeralMessage *emptyMessage = [[LKEphemeralMessage alloc] initInThread:thread];
[self.messageSenderJobQueue addMessage:emptyMessage transaction:transaction];
OWSLogDebug(@"[Loki] Session reset received from %@.", envelope.source);
@ -1498,7 +1498,7 @@ NS_ASSUME_NONNULL_BEGIN
[existingFriendRequestMessage saveFriendRequestStatus:LKMessageFriendRequestStatusAccepted withTransaction:transaction];
}
// The two lines below are equivalent to calling [ThreadUtil enqueueAcceptFriendRequestMessageInThread:thread]
LKEphemeralMessage *emptyMessage = [LKEphemeralMessage createEmptyOutgoingMessageInThread:thread];
LKEphemeralMessage *emptyMessage = [[LKEphemeralMessage alloc] initInThread:thread];
[self.messageSenderJobQueue addMessage:emptyMessage transaction:transaction];
} else if (!thread.isContactFriend) {
// Checking that the sender of the message isn't already a friend is necessary because otherwise
@ -1736,7 +1736,7 @@ NS_ASSUME_NONNULL_BEGIN
// If we were the ones to initiate the reset then we need to send back an empty message
if (thread.sessionResetState == TSContactThreadSessionResetStateInitiated) {
LKEphemeralMessage *emptyMessage = [LKEphemeralMessage createEmptyOutgoingMessageInThread:thread];
LKEphemeralMessage *emptyMessage = [[LKEphemeralMessage alloc] initInThread:thread];
[self.messageSenderJobQueue addMessage:emptyMessage transaction:transaction];
}