]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/dobjcmn.cpp
Fix horizontal mouse wheel scrolling in wxGTK.
[wxWidgets.git] / src / common / dobjcmn.cpp
index 0eeea52fb20d2cb31d39c5d4f6360cd452d784f4..5e4d43dcc0e861d00a4b79627b17cd01827dc109 100644 (file)
@@ -4,7 +4,6 @@
 // Author:      Vadim Zeitlin, Robert Roebling
 // Modified by:
 // Created:     19.10.99
-// RCS-ID:      $Id$
 // Copyright:   (c) wxWidgets Team
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
@@ -425,8 +424,8 @@ bool wxTextDataObject::GetDataHere(void *buf) const
     // NOTE: use wxTmemcpy() instead of wxStrncpy() to allow
     //       retrieval of strings with embedded NULLs
     wxTmemcpy(static_cast<wxChar*>(buf),
-              textNative.c_str(),
-              (textNative.length() + 1)*sizeof(wxChar));
+              textNative.t_str(),
+              textNative.length() + 1);
 
     return true;
 }
@@ -448,7 +447,10 @@ bool wxTextDataObject::SetData(size_t len, const void *buf)
 
 size_t wxHTMLDataObject::GetDataSize() const
 {
-    const wxScopedCharBuffer buffer(GetHTML().utf8_str());
+    // Ensure that the temporary string returned by GetHTML() is kept alive for
+    // as long as we need it here.
+    const wxString& htmlStr = GetHTML();
+    const wxScopedCharBuffer buffer(htmlStr.utf8_str());
 
     size_t size = buffer.length();
 
@@ -467,7 +469,8 @@ bool wxHTMLDataObject::GetDataHere(void *buf) const
         return false;
 
     // Windows and Mac always use UTF-8, and docs suggest GTK does as well.
-    const wxScopedCharBuffer html(GetHTML().utf8_str());
+    const wxString& htmlStr = GetHTML();
+    const wxScopedCharBuffer html(htmlStr.utf8_str());
     if ( !html )
         return false;