Skip to content
This repository was archived by the owner on Dec 12, 2022. It is now read-only.

Commit b9c086f

Browse files
committed
Don't query pasteboard contents until paste:
1 parent acd82b4 commit b9c086f

File tree

1 file changed

+17
-20
lines changed

1 file changed

+17
-20
lines changed

MatrixKit/Views/RoomInputToolbar/MXKRoomInputToolbarView.m

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1336,29 +1336,26 @@ - (BOOL)canPerformAction:(SEL)action withSender:(id)sender
13361336
{
13371337
// Check whether some data listed in general pasteboard can be paste
13381338
UIPasteboard *pasteboard = MXKPasteboardManager.shared.pasteboard;
1339-
if (pasteboard.numberOfItems)
1339+
NSIndexSet* all = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, pasteboard.numberOfItems)];
1340+
for (NSArray<NSString*>* typesForItem in [pasteboard pasteboardTypesForItemSet:all])
13401341
{
1341-
for (NSDictionary* dict in pasteboard.items)
1342+
for (NSString* type in typesForItem)
13421343
{
1343-
NSArray* allKeys = dict.allKeys;
1344-
for (NSString* key in allKeys)
1344+
NSString* MIMEType = (__bridge_transfer NSString *) UTTypeCopyPreferredTagWithClass((__bridge CFStringRef)type, kUTTagClassMIMEType);
1345+
1346+
if ([MIMEType hasPrefix:@"image/"] && [self.delegate respondsToSelector:@selector(roomInputToolbarView:sendImage:)])
13451347
{
1346-
NSString* MIMEType = (__bridge_transfer NSString *) UTTypeCopyPreferredTagWithClass((__bridge CFStringRef)key, kUTTagClassMIMEType);
1347-
1348-
if ([MIMEType hasPrefix:@"image/"] && [self.delegate respondsToSelector:@selector(roomInputToolbarView:sendImage:)])
1349-
{
1350-
return YES;
1351-
}
1352-
1353-
if ([MIMEType hasPrefix:@"video/"] && [self.delegate respondsToSelector:@selector(roomInputToolbarView:sendVideo:withThumbnail:)])
1354-
{
1355-
return YES;
1356-
}
1357-
1358-
if ([MIMEType hasPrefix:@"application/"] && [self.delegate respondsToSelector:@selector(roomInputToolbarView:sendFile:withMimeType:)])
1359-
{
1360-
return YES;
1361-
}
1348+
return YES;
1349+
}
1350+
1351+
if ([MIMEType hasPrefix:@"video/"] && [self.delegate respondsToSelector:@selector(roomInputToolbarView:sendVideo:withThumbnail:)])
1352+
{
1353+
return YES;
1354+
}
1355+
1356+
if ([MIMEType hasPrefix:@"application/"] && [self.delegate respondsToSelector:@selector(roomInputToolbarView:sendFile:withMimeType:)])
1357+
{
1358+
return YES;
13621359
}
13631360
}
13641361
}

0 commit comments

Comments
 (0)