]> git.saurik.com Git - wxWidgets.git/blobdiff - src/x11/dataobj.cpp
fix for infinite sizing loop (partial patch 1907189)
[wxWidgets.git] / src / x11 / dataobj.cpp
index bd4b3defcc0505143a7ff167588523de8657cac5..b9b8f7a37d259fa8dd4e89d287287749d1cda3d9 100644 (file)
 
 #ifndef WX_PRECOMP
     #include "wx/log.h"
+    #include "wx/app.h"
+    #include "wx/utils.h"
+    #include "wx/image.h"
 #endif
 
 #include "wx/mstream.h"
-#include "wx/app.h"
-#include "wx/image.h"
 
-#include "wx/utils.h"
 #include "wx/x11/private.h"
 
 //-------------------------------------------------------------------------
@@ -57,12 +57,6 @@ wxDataFormat::wxDataFormat( wxDataFormatId type )
     SetType( type );
 }
 
-wxDataFormat::wxDataFormat( const wxChar *id )
-{
-    PrepareFormats();
-    SetId( id );
-}
-
 wxDataFormat::wxDataFormat( const wxString &id )
 {
     PrepareFormats();
@@ -80,7 +74,7 @@ void wxDataFormat::SetType( wxDataFormatId type )
     PrepareFormats();
     m_type = type;
 
-    if (m_type == wxDF_TEXT)
+    if (m_type == wxDF_TEXT || m_type == wxDF_UNICODETEXT)
         m_format = g_textAtom;
     else
     if (m_type == wxDF_BITMAP)
@@ -129,13 +123,12 @@ void wxDataFormat::SetId( NativeFormat format )
         m_type = wxDF_PRIVATE;
 }
 
-void wxDataFormat::SetId( const wxChar *id )
+void wxDataFormat::SetId( const wxString& id )
 {
 #if !wxUSE_NANOX
     PrepareFormats();
     m_type = wxDF_PRIVATE;
-    wxString tmp( id );
-    m_format = XInternAtom( (Display*) wxGetDisplay(), tmp.ToAscii(), FALSE );
+    m_format = XInternAtom( (Display*) wxGetDisplay(), id.ToAscii(), FALSE );
 #endif
 }
 
@@ -199,7 +192,7 @@ bool wxFileDataObject::GetDataHere(void *buf) const
         filenames += (wxChar) 0;
     }
 
-    memcpy( buf, filenames.mbc_str(), filenames.Len() + 1 );
+    memcpy( buf, filenames.mbc_str(), filenames.length() + 1 );
 
     return true;
 }
@@ -210,7 +203,7 @@ size_t wxFileDataObject::GetDataSize() const
 
     for (size_t i = 0; i < m_filenames.GetCount(); i++)
     {
-        res += m_filenames[i].Len();
+        res += m_filenames[i].length();
         res += 1;
     }
 
@@ -232,8 +225,8 @@ bool wxFileDataObject::SetData(size_t WXUNUSED(size), const void *buf)
             break;
         wxString file( filenames );  // this returns the first file
         AddFile( file );
-        pos += file.Len()+1;
-        filenames += file.Len()+1;
+        pos += file.length()+1;
+        filenames += file.length()+1;
     }
 #else // 1
     m_filenames.Empty();