No real changes, just use accessors in wxTextDataObject.

Use {Set,Get}Text() instead of using m_text directly in wxTextDataObject as
these virtual methods overridable and should be called in case the class
doesn't actually use m_text for its storage at all.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72258 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2012-07-29 22:08:46 +00:00
parent 9a9c20be62
commit 46a0544e6f

View File

@@ -299,13 +299,14 @@ bool wxTextDataObject::SetData(const wxDataFormat& format,
size_t wxTextDataObject::GetDataSize(const wxDataFormat& format) const size_t wxTextDataObject::GetDataSize(const wxDataFormat& format) const
{ {
const wxString& text = GetText();
if ( format == wxDF_UNICODETEXT || wxLocaleIsUtf8 ) if ( format == wxDF_UNICODETEXT || wxLocaleIsUtf8 )
{ {
return m_text.utf8_length(); return text.utf8_length();
} }
else // wxDF_TEXT else // wxDF_TEXT
{ {
const wxCharBuffer buf(wxConvLocal.cWC2MB(m_text.wc_str())); const wxCharBuffer buf(wxConvLocal.cWC2MB(text.wc_str()));
return buf ? strlen(buf) : 0; return buf ? strlen(buf) : 0;
} }
} }
@@ -315,13 +316,14 @@ bool wxTextDataObject::GetDataHere(const wxDataFormat& format, void *buf) const
if ( !buf ) if ( !buf )
return false; return false;
const wxString& text = GetText();
if ( format == wxDF_UNICODETEXT || wxLocaleIsUtf8 ) if ( format == wxDF_UNICODETEXT || wxLocaleIsUtf8 )
{ {
memcpy(buf, m_text.utf8_str(), m_text.utf8_length()); memcpy(buf, text.utf8_str(), text.utf8_length());
} }
else // wxDF_TEXT else // wxDF_TEXT
{ {
const wxCharBuffer bufLocal(wxConvLocal.cWC2MB(m_text.wc_str())); const wxCharBuffer bufLocal(wxConvLocal.cWC2MB(text.wc_str()));
if ( !bufLocal ) if ( !bufLocal )
return false; return false;
@@ -346,11 +348,11 @@ bool wxTextDataObject::SetData(const wxDataFormat& format,
// is not in UTF-8 so do an extra check for tranquility, it shouldn't // is not in UTF-8 so do an extra check for tranquility, it shouldn't
// matter much if we lose a bit of performance when pasting from // matter much if we lose a bit of performance when pasting from
// clipboard // clipboard
m_text = wxString::FromUTF8(buf, len); SetText(wxString::FromUTF8(buf, len));
} }
else // wxDF_TEXT, convert from current (non-UTF8) locale else // wxDF_TEXT, convert from current (non-UTF8) locale
{ {
m_text = wxConvLocal.cMB2WC(buf, len, NULL); SetText(wxConvLocal.cMB2WC(buf, len, NULL));
} }
return true; return true;