mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-11 07:11:54 +00:00
Fixed copy to pasteboard on legacy OS X
Copy/paste is now implemented using the method available on all supported versions This fixes 'unrecognized selector' exception on OS X 10.4 and 10.5
This commit is contained in:
parent
bfc116b2a4
commit
24501dbc93
1 changed files with 9 additions and 15 deletions
|
@ -338,23 +338,17 @@ int I_FindAttr(findstate_t* const fileinfo)
|
|||
}
|
||||
|
||||
|
||||
static NSString* GetPasteboardStringType()
|
||||
{
|
||||
#if MAC_OS_X_VERSION_MAX_ALLOWED < 1060
|
||||
return NSStringPboardType;
|
||||
#else // 10.6 or higher
|
||||
return NSAppKitVersionNumber < AppKit10_6
|
||||
? NSStringPboardType
|
||||
: NSPasteboardTypeString;
|
||||
#endif // before 10.6
|
||||
}
|
||||
|
||||
void I_PutInClipboard(const char* const string)
|
||||
{
|
||||
NSPasteboard* const pasteBoard = [NSPasteboard generalPasteboard];
|
||||
[pasteBoard clearContents];
|
||||
[pasteBoard setString:[NSString stringWithUTF8String:string]
|
||||
forType:GetPasteboardStringType()];
|
||||
NSString* const stringType = NSStringPboardType;
|
||||
NSArray* const types = [NSArray arrayWithObjects:stringType, nil];
|
||||
NSString* const content = [NSString stringWithUTF8String:string];
|
||||
|
||||
[pasteBoard declareTypes:types
|
||||
owner:nil];
|
||||
[pasteBoard setString:content
|
||||
forType:stringType];
|
||||
}
|
||||
|
||||
FString I_GetFromClipboard(bool returnNothing)
|
||||
|
@ -365,7 +359,7 @@ FString I_GetFromClipboard(bool returnNothing)
|
|||
}
|
||||
|
||||
NSPasteboard* const pasteBoard = [NSPasteboard generalPasteboard];
|
||||
NSString* const value = [pasteBoard stringForType:GetPasteboardStringType()];
|
||||
NSString* const value = [pasteBoard stringForType:NSStringPboardType];
|
||||
|
||||
return FString([value UTF8String]);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue