From 6a59178a5280adfe711ef41d02a446a61a2790a1 Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Thu, 15 Aug 2002 20:47:04 +0000 Subject: [PATCH] wxTextDataObject should convert to and from UTF8 in Unicode mode under GTK. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/common/dobjcmn.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/common/dobjcmn.cpp b/src/common/dobjcmn.cpp index 08b9a0e923..93a2d21d23 100644 --- a/src/common/dobjcmn.cpp +++ b/src/common/dobjcmn.cpp @@ -234,19 +234,36 @@ bool wxDataObjectComposite::SetData(const wxDataFormat& format, size_t wxTextDataObject::GetDataSize() const { +#if defined(__WXGTK20__) && wxUSE_UNICODE + // Use UTF8 not UCS4 + wxCharBuffer buffer = wxConvUTF8.cWX2MB( GetText().c_str() ); + return strlen( (const char*) buffer ) + 1; +#else return GetTextLength() * sizeof(wxChar); +#endif } bool wxTextDataObject::GetDataHere(void *buf) const { +#if defined(__WXGTK20__) && wxUSE_UNICODE + // Use UTF8 not UCS4 + wxCharBuffer buffer = wxConvUTF8.cWX2MB( GetText().c_str() ); + strcpy( (char*) buf, (const char*) buffer ); +#else wxStrcpy((wxChar *)buf, GetText().c_str()); +#endif return TRUE; } bool wxTextDataObject::SetData(size_t WXUNUSED(len), const void *buf) { +#if defined(__WXGTK20__) && wxUSE_UNICODE + // Use UTF8 not UCS4 + SetText( wxConvUTF8.cMB2WX( (const char*) buf ) ); +#else SetText(wxString((const wxChar *)buf)); +#endif return TRUE; } -- 2.45.2