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:
@@ -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;
|
||||||
|
Reference in New Issue
Block a user