diff --git a/include/wx/osx/core/cfstring.h b/include/wx/osx/core/cfstring.h index fad01b88d4..372a3c7978 100644 --- a/include/wx/osx/core/cfstring.h +++ b/include/wx/osx/core/cfstring.h @@ -30,7 +30,7 @@ WXDLLIMPEXP_BASE void wxMacConvertNewlines13To10( wxString *data ) ; WXDLLIMPEXP_BASE void wxMacConvertNewlines10To13( wxString *data ) ; WXDLLIMPEXP_BASE void wxMacConvertNewlines13To10( char * data ) ; -WXDLLIMPEXP_BASE void wxMacConvertNewlines13To10( char * data, size_t len ) ; +WXDLLIMPEXP_BASE void wxMacConvertNewlines13To10( wxChar16 * data ) ; WXDLLIMPEXP_BASE void wxMacConvertNewlines10To13( char * data ) ; WXDLLIMPEXP_BASE wxUint32 wxMacGetSystemEncFromFontEnc(wxFontEncoding encoding) ; diff --git a/src/osx/carbon/dataobj.cpp b/src/osx/carbon/dataobj.cpp index f6967ddbba..eac1fb9106 100644 --- a/src/osx/carbon/dataobj.cpp +++ b/src/osx/carbon/dataobj.cpp @@ -487,9 +487,13 @@ bool wxDataObject::GetFromPasteboard( void * pb ) memset( buf, 0, flavorDataSize + 4 ); memcpy( buf, CFDataGetBytePtr( flavorData ), flavorDataSize ); - if (dataFormat.GetType() == wxDF_TEXT || dataFormat.GetType() == wxDF_UNICODETEXT) + if (dataFormat.GetType() == wxDF_TEXT) { - wxMacConvertNewlines13To10( (char*) buf, flavorDataSize ); + wxMacConvertNewlines13To10((char*) buf); + } + else if (dataFormat.GetType() == wxDF_UNICODETEXT) + { + wxMacConvertNewlines13To10((wxChar16*) buf); } SetData( flavorFormat, flavorDataSize, buf ); transferred = true; diff --git a/src/osx/core/cfstring.cpp b/src/osx/core/cfstring.cpp index f44be612aa..c25dc9d8d5 100644 --- a/src/osx/core/cfstring.cpp +++ b/src/osx/core/cfstring.cpp @@ -34,9 +34,9 @@ void wxMacConvertNewlines13To10( char * data ) } } -void wxMacConvertNewlines13To10( char * data, size_t len ) +void wxMacConvertNewlines13To10( wxChar16 * data ) { - for ( ; len; ++data, --len ) + for ( ; *data; ++data ) { if ( *data == 0x0d ) *data = 0x0a;