diff --git a/src/mac/pxClipboardNative.mm b/src/mac/pxClipboardNative.mm index 7fce10c4b4..71fb8eb76e 100644 --- a/src/mac/pxClipboardNative.mm +++ b/src/mac/pxClipboardNative.mm @@ -12,22 +12,35 @@ std::string pxClipboardNative::getString(std::string type) { - printf("pxClipboardNative::getString() - ENTER\n"); +// printf("pxClipboardNative::getString() - ENTER\n"); NSPasteboard* pasteBoard = [NSPasteboard generalPasteboard]; NSString* myString = [pasteBoard stringForType: NSPasteboardTypeString]; - + + if(myString) + { return std::string([myString UTF8String]); + } + else + { + return std::string(""); + } } void pxClipboardNative::setString(std::string type, std::string clip) { - printf("pxClipboardNative::setString() - ENTER\n"); +// printf("pxClipboardNative::setString() - ENTER\n"); NSString *stringToWrite = [NSString stringWithUTF8String: clip.c_str()]; - + + if(stringToWrite) + { NSPasteboard* pasteBoard = [NSPasteboard generalPasteboard]; - [pasteBoard declareTypes:[NSArray arrayWithObject:NSStringPboardType] owner:nil]; - [pasteBoard setString:stringToWrite forType:NSStringPboardType]; + if(pasteBoard) + { + [pasteBoard declareTypes:[NSArray arrayWithObject:NSStringPboardType] owner:nil]; + [pasteBoard setString:stringToWrite forType:NSStringPboardType]; + } + } } diff --git a/src/mac/pxWindowNative.mm b/src/mac/pxWindowNative.mm index 0ccfb7b846..f5682ffd4b 100644 --- a/src/mac/pxWindowNative.mm +++ b/src/mac/pxWindowNative.mm @@ -825,8 +825,11 @@ - (BOOL)performDragOperation:(id )sender pxClipboardNative *clip = pxClipboardNative::instance(); + if(clip && dropURL) + { clip->setString("TEXT", [dropURL UTF8String]); } + } else { // Handle Drag'n'Dropped >> TEXT @@ -835,7 +838,10 @@ - (BOOL)performDragOperation:(id )sender pxClipboardNative *clip = pxClipboardNative::instance(); + if(clip && text) + { clip->setString("TEXT", [text UTF8String]); + } } pxWindowNative::_helper_onKeyDown(mWindow, 86, 16); // Fake a CTRL-V