diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-06-17 15:01:04 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-06-17 15:01:04 +0200 |
commit | d595a1910c5672808e44afa028e253e47f03651f (patch) | |
tree | c2a0c89187d05fd7c8ca05634d4a8f4ca4639844 /src/os_macosx.m | |
parent | 491ac28d5f91505519c623ebc1a9ab08834bf367 (diff) | |
download | vim-git-d595a1910c5672808e44afa028e253e47f03651f.tar.gz |
patch 8.1.0063: Mac: NSStringPboardType is deprecatedv8.1.0063
Problem: Mac: NSStringPboardType is deprecated.
Solution: Use NSPasteboardTypeString. (Akshay Hegde, closes #3022)
Diffstat (limited to 'src/os_macosx.m')
-rw-r--r-- | src/os_macosx.m | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/src/os_macosx.m b/src/os_macosx.m index b0d29d947..752bdae11 100644 --- a/src/os_macosx.m +++ b/src/os_macosx.m @@ -63,8 +63,13 @@ clip_mch_request_selection(VimClipboard *cbd) NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSPasteboard *pb = [NSPasteboard generalPasteboard]; +#ifdef AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER + NSArray *supportedTypes = [NSArray arrayWithObjects:VimPboardType, + NSPasteboardTypeString, nil]; +#else NSArray *supportedTypes = [NSArray arrayWithObjects:VimPboardType, NSStringPboardType, nil]; +#endif NSString *bestType = [pb availableTypeFromArray:supportedTypes]; if (!bestType) goto releasepool; @@ -76,7 +81,7 @@ clip_mch_request_selection(VimClipboard *cbd) /* This type should consist of an array with two objects: * 1. motion type (NSNumber) * 2. text (NSString) - * If this is not the case we fall back on using NSStringPboardType. + * If this is not the case we fall back on using NSPasteboardTypeString. */ id plist = [pb propertyListForType:VimPboardType]; if ([plist isKindOfClass:[NSArray class]] && [plist count] == 2) @@ -92,10 +97,15 @@ clip_mch_request_selection(VimClipboard *cbd) if (!string) { - /* Use NSStringPboardType. The motion type is detected automatically. + /* Use NSPasteboardTypeString. The motion type is detected automatically. */ +#ifdef AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER + NSMutableString *mstring = + [[pb stringForType:NSPasteboardTypeString] mutableCopy]; +#else NSMutableString *mstring = [[pb stringForType:NSStringPboardType] mutableCopy]; +#endif if (!mstring) goto releasepool; /* Replace unrecognized end-of-line sequences with \x0a (line feed). */ @@ -178,15 +188,24 @@ clip_mch_set_selection(VimClipboard *cbd) /* See clip_mch_request_selection() for info on pasteboard types. */ NSPasteboard *pb = [NSPasteboard generalPasteboard]; +#ifdef AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER + NSArray *supportedTypes = [NSArray arrayWithObjects:VimPboardType, + NSPasteboardTypeString, nil]; +#else NSArray *supportedTypes = [NSArray arrayWithObjects:VimPboardType, NSStringPboardType, nil]; +#endif [pb declareTypes:supportedTypes owner:nil]; NSNumber *motion = [NSNumber numberWithInt:motion_type]; NSArray *plist = [NSArray arrayWithObjects:motion, string, nil]; [pb setPropertyList:plist forType:VimPboardType]; +#ifdef AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER + [pb setString:string forType:NSPasteboardTypeString]; +#else [pb setString:string forType:NSStringPboardType]; +#endif [string release]; } |