]> git.saurik.com Git - wxWidgets.git/commitdiff
fix wxTextDataObject::GetDataHere and SetData functions (under wxMSW) so that they...
authorFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Fri, 6 Mar 2009 22:45:00 +0000 (22:45 +0000)
committerFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Fri, 6 Mar 2009 22:45:00 +0000 (22:45 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/dobjcmn.cpp

index 20d6b2999c29e7630b98f07667439eb80bedc6c0..bb3bc30971e280fd22ab4c55eda270fd8e4daf27 100644 (file)
@@ -422,14 +422,16 @@ size_t wxTextDataObject::GetDataSize() const
 
 bool wxTextDataObject::GetDataHere(void *buf) const
 {
-    wxStrcpy( (wxChar*)buf, GetText().c_str() );
+    // NOTE: use wxTmemcpy() instead of wxStrncpy() to allow
+    //       retrieval of strings with embedded NULLs
+    wxTmemcpy( (wxChar*)buf, GetText().c_str(), GetTextLength() );
 
     return true;
 }
 
-bool wxTextDataObject::SetData(size_t WXUNUSED(len), const void *buf)
+bool wxTextDataObject::SetData(size_t len, const void *buf)
 {
-    SetText( wxString((const wxChar*)buf) );
+    SetText( wxString((const wxChar*)buf, len/sizeof(wxChar)) );
 
     return true;
 }