Fixing drop on macos native dataview when wxNEEDS_UTF16_FOR_TEXT_DATAOBJ

see #18165
This commit is contained in:
Stefan Csomor
2018-07-13 10:44:44 +02:00
parent 24b8a2523d
commit 6c6cc08975

View File

@@ -622,7 +622,11 @@ outlineView:(NSOutlineView*)outlineView
( (
kCFAllocatorDefault, kCFAllocatorDefault,
(CFStringRef)[pasteboard stringForType:NSStringPboardType], (CFStringRef)[pasteboard stringForType:NSStringPboardType],
#if defined(wxNEEDS_UTF16_FOR_TEXT_DATAOBJ)
kCFStringEncodingUTF16,
#else
kCFStringEncodingUTF8, kCFStringEncodingUTF8,
#endif
32 32
); );
if (textDataObject->SetData(::CFDataGetLength(osxData), if (textDataObject->SetData(::CFDataGetLength(osxData),
@@ -850,7 +854,13 @@ outlineView:(NSOutlineView*)outlineView
wxDataObjectComposite* dataObjects (new wxDataObjectComposite()); wxDataObjectComposite* dataObjects (new wxDataObjectComposite());
wxTextDataObject* textDataObject(new wxTextDataObject()); wxTextDataObject* textDataObject(new wxTextDataObject());
osxData = ::CFStringCreateExternalRepresentation(kCFAllocatorDefault,(CFStringRef)[pasteboard stringForType:NSStringPboardType],kCFStringEncodingUTF8,32); osxData = ::CFStringCreateExternalRepresentation(kCFAllocatorDefault,(CFStringRef)[pasteboard stringForType:NSStringPboardType],
#if defined(wxNEEDS_UTF16_FOR_TEXT_DATAOBJ)
kCFStringEncodingUTF16,
#else
kCFStringEncodingUTF8,
#endif
32);
if (textDataObject->SetData(::CFDataGetLength(osxData),::CFDataGetBytePtr(osxData))) if (textDataObject->SetData(::CFDataGetLength(osxData),::CFDataGetBytePtr(osxData)))
dataObjects->Add(textDataObject); dataObjects->Add(textDataObject);
else else