Skip to content

Commit 6cad855

Browse files
Fix crash on draft messages in active chats
1 parent 3e8165f commit 6cad855

File tree

1 file changed

+24
-20
lines changed

1 file changed

+24
-20
lines changed

ā€ŽMonal/Classes/MLContactCell.mā€Ž

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -55,19 +55,38 @@ -(void) initCell:(MLContact*) contact withLastMessage:(MLMessage* _Nullable) las
5555

5656
-(void) displayLastMessage:(MLMessage* _Nullable) lastMessage forContact:(MLContact*) contact
5757
{
58-
NSString* senderOfLastGroupMsg; // set to nick of sender in a group chat, if this is a group chat (1:1 MUST be nil)
59-
if(lastMessage.isMuc)
60-
senderOfLastGroupMsg = lastMessage.contactDisplayName;
61-
6258
if(lastMessage)
6359
{
60+
if(lastMessage.timestamp)
61+
{
62+
self.time.text = [self formattedDateWithSource:lastMessage.timestamp];
63+
self.time.hidden = NO;
64+
}
65+
else
66+
self.time.hidden = YES;
67+
6468
if(lastMessage.retracted)
6569
{
6670
NSString* retractedStatus = NSLocalizedString(@"This message got retracted", @"");
6771
[self showStatusTextItalic:retractedStatus withItalicRange:NSMakeRange(0, retractedStatus.length)];
72+
return;
6873
}
69-
else if([lastMessage.messageType isEqualToString:kMessageTypeUrl] && [[HelperTools defaultsDB] boolForKey:@"ShowURLPreview"])
74+
else if ([lastMessage.messageType isEqualToString:kMessageTypeMessageDraft])
75+
{
76+
NSString* draftPreviewPrefix = NSLocalizedString(@"Draft:", @"");
77+
NSString* draftPreview = [NSString stringWithFormat:@"%@ %@", draftPreviewPrefix, lastMessage.messageText];
78+
[self showStatusTextItalic:draftPreview withItalicRange:NSMakeRange(0, draftPreviewPrefix.length)];
79+
return;
80+
}
81+
82+
NSString* senderOfLastGroupMsg; // set to nick of sender in a group chat, if this is a group chat (1:1 MUST be nil)
83+
if(lastMessage.isMuc)
84+
senderOfLastGroupMsg = lastMessage.contactDisplayName;
85+
86+
if([lastMessage.messageType isEqualToString:kMessageTypeUrl] && [[HelperTools defaultsDB] boolForKey:@"ShowURLPreview"])
7087
[self showStatusText:NSLocalizedString(@"šŸ”— A Link", @"") inboundDir:lastMessage.inbound fromUser:senderOfLastGroupMsg];
88+
else if([lastMessage.messageType isEqualToString:kMessageTypeGeo])
89+
[self showStatusText:NSLocalizedString(@"šŸ“ A Location", @"") inboundDir:lastMessage.inbound fromUser:senderOfLastGroupMsg];
7190
else if([lastMessage.messageType isEqualToString:kMessageTypeFiletransfer])
7291
{
7392
if(lastMessage.fileInfo.isImage)
@@ -81,14 +100,6 @@ -(void) displayLastMessage:(MLMessage* _Nullable) lastMessage forContact:(MLCont
81100
else
82101
[self showStatusText:NSLocalizedString(@"šŸ“ A File", @"") inboundDir:lastMessage.inbound fromUser:senderOfLastGroupMsg];
83102
}
84-
else if ([lastMessage.messageType isEqualToString:kMessageTypeMessageDraft])
85-
{
86-
NSString* draftPreviewPrefix = NSLocalizedString(@"Draft:", @"");
87-
NSString* draftPreview = [NSString stringWithFormat:@"%@ %@", draftPreviewPrefix, lastMessage.messageText];
88-
[self showStatusTextItalic:draftPreview withItalicRange:NSMakeRange(0, draftPreviewPrefix.length)];
89-
}
90-
else if([lastMessage.messageType isEqualToString:kMessageTypeGeo])
91-
[self showStatusText:NSLocalizedString(@"šŸ“ A Location", @"") inboundDir:lastMessage.inbound fromUser:senderOfLastGroupMsg];
92103
else
93104
{
94105
if([lastMessage.messageText hasPrefix:@"/me "])
@@ -101,13 +112,6 @@ -(void) displayLastMessage:(MLMessage* _Nullable) lastMessage forContact:(MLCont
101112
[self showStatusText:lastMessage.messageText inboundDir:lastMessage.inbound fromUser:senderOfLastGroupMsg];
102113
}
103114
}
104-
if(lastMessage.timestamp)
105-
{
106-
self.time.text = [self formattedDateWithSource:lastMessage.timestamp];
107-
self.time.hidden = NO;
108-
}
109-
else
110-
self.time.hidden = YES;
111115
}
112116
else
113117
{

0 commit comments

Comments
Ā (0)
⚔