Skip to content
Snippets Groups Projects
Commit a116a0a8 authored by Kateryna Kostiuk's avatar Kateryna Kostiuk
Browse files

conversation: fix crash when open file during call

Change-Id: I120b2dfa6a355b73493c52aca18c6ec471865ba5
Gitlab: #251
parent 1dd0c270
No related branches found
No related tags found
No related merge requests found
......@@ -1010,6 +1010,7 @@ typedef NS_ENUM(NSInteger, MessageSequencing) {
if (!previewImage || previewImage.length <= 0) {
return;
}
[self addToResponderChain];
if ([QLPreviewPanel sharedPreviewPanelExists] && [[QLPreviewPanel sharedPreviewPanel] isVisible]) {
[[QLPreviewPanel sharedPreviewPanel] orderOut:nil];
} else {
......@@ -1150,6 +1151,7 @@ typedef NS_ENUM(NSInteger, MessageSequencing) {
- (void)endPreviewPanelControl:(QLPreviewPanel *)panel {
panel.dataSource = nil;
[self removeFromResponderChain];
}
-(BOOL)acceptsPreviewPanelControl:(QLPreviewPanel *)panel
......@@ -1162,6 +1164,9 @@ typedef NS_ENUM(NSInteger, MessageSequencing) {
}
- (id <QLPreviewItem>)previewPanel:(QLPreviewPanel *)panel previewItemAtIndex:(NSInteger)index {
if (previewImage == nil) {
return nil;
}
try {
return [NSURL fileURLWithPath: previewImage];
} catch (NSException *exception) {
......@@ -1169,4 +1174,21 @@ typedef NS_ENUM(NSInteger, MessageSequencing) {
}
}
- (void)addToResponderChain {
if (conversationView.window &&
![[conversationView.window nextResponder] isEqual:self]) {
NSResponder * aNextResponder = [conversationView.window nextResponder];
[conversationView.window setNextResponder:self];
}
}
- (void)removeFromResponderChain {
if (conversationView.window &&
[[conversationView.window nextResponder] isEqual:self]) {
NSResponder * aNextResponder = [conversationView.window nextResponder];
[conversationView.window setNextResponder:[self nextResponder]];
}
}
@end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment