]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/dataobj.cpp
don't compare invalid iterators/node pointers
[wxWidgets.git] / src / gtk / dataobj.cpp
index b4341cc0e4d86921906cf3f35301b48dd4b91085..00b429c0b4ef41ef4ae9661df49ad004d29e1bee 100644 (file)
@@ -7,10 +7,6 @@
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma implementation "dataobj.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
@@ -81,9 +77,9 @@ wxDataFormat::wxDataFormat( NativeFormat format )
 void wxDataFormat::SetType( wxDataFormatId type )
 {
     PrepareFormats();
-    
+
     m_type = type;
-    
+
 #if wxUSE_UNICODE
     if (m_type == wxDF_UNICODETEXT)
         m_format = g_textAtom;
@@ -112,7 +108,9 @@ wxDataFormatId wxDataFormat::GetType() const
 
 wxString wxDataFormat::GetId() const
 {
-    wxString ret = wxString::FromAscii( gdk_atom_name( m_format ) );
+    gchar* atom_name = gdk_atom_name( m_format );
+    wxString ret = wxString::FromAscii( atom_name );
+    g_free(atom_name);
     return ret;
 }
 
@@ -145,7 +143,7 @@ void wxDataFormat::SetId( const wxChar *id )
     PrepareFormats();
     m_type = wxDF_PRIVATE;
     wxString tmp( id );
-    m_format = gdk_atom_intern( (const char*) tmp.ToAscii(), FALSE ); 
+    m_format = gdk_atom_intern( (const char*) tmp.ToAscii(), FALSE );
 }
 
 void wxDataFormat::PrepareFormats()
@@ -186,17 +184,17 @@ wxDataObject::~wxDataObject()
 bool wxDataObject::IsSupportedFormat(const wxDataFormat& format, Direction dir) const
 {
     size_t nFormatCount = GetFormatCount(dir);
-    if ( nFormatCount == 1 ) 
+    if ( nFormatCount == 1 )
     {
         return format == GetPreferredFormat();
     }
-    else 
+    else
     {
         wxDataFormat *formats = new wxDataFormat[nFormatCount];
         GetAllFormats(formats,dir);
 
         size_t n;
-        for ( n = 0; n < nFormatCount; n++ ) 
+        for ( n = 0; n < nFormatCount; n++ )
         {
             if ( formats[n] == format )
                 break;
@@ -284,9 +282,9 @@ bool wxFileDataObject::SetData(size_t WXUNUSED(size), const void *buf)
                 AddFile(wxURI::Unescape(filename.c_str() + lenPrefix));
                 filename.Empty();
             }
-            else
+            else if ( !filename.empty() )
             {
-                wxLogDebug(_T("Unsupported URI '%s' in wxFileDataObject"),
+                wxLogDebug(_T("Unsupported URI \"%s\" in wxFileDataObject"),
                            filename.c_str());
             }