]> git.saurik.com Git - wxWidgets.git/blobdiff - src/x11/dataobj.cpp
don't lose fonts underlined flag in ReInit() (bug fix for the change in rev. 1.76)
[wxWidgets.git] / src / x11 / dataobj.cpp
index 75028159fe61d74a5aeffaa20fecd956f4147f2c..c095c13aa2a8ae3cfb95958a5fb83635a8601cf6 100644 (file)
@@ -7,7 +7,7 @@
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma implementation "dataobj.h"
 #endif
 
@@ -17,6 +17,7 @@
 #include "wx/mstream.h"
 #include "wx/app.h"
 #include "wx/image.h"
+#include "wx/log.h"
 
 #include "wx/utils.h"
 #include "wx/x11/private.h"
@@ -97,11 +98,15 @@ wxDataFormatId wxDataFormat::GetType() const
 
 wxString wxDataFormat::GetId() const
 {
+#if wxUSE_NANOX
+    return wxEmptyString;
+#else
     char *t = XGetAtomName ((Display*) wxGetDisplay(), m_format);
-    wxString ret( t );  // this will convert from ascii to Unicode
+    wxString ret = wxString::FromAscii( t );
     if (t) 
         XFree( t );
     return ret;
+#endif
 }
 
 void wxDataFormat::SetId( NativeFormat format )
@@ -123,20 +128,24 @@ void wxDataFormat::SetId( NativeFormat format )
 
 void wxDataFormat::SetId( const wxChar *id )
 {
+#if !wxUSE_NANOX
     PrepareFormats();
     m_type = wxDF_PRIVATE;
     wxString tmp( id );
-    m_format = XInternAtom( (Display*) wxGetDisplay(), wxMBSTRINGCAST tmp.mbc_str(), FALSE );  // what is the string cast for?
+    m_format = XInternAtom( (Display*) wxGetDisplay(), tmp.ToAscii(), FALSE ); 
+#endif
 }
 
 void wxDataFormat::PrepareFormats()
 {
+#if !wxUSE_NANOX
     if (!g_textAtom)
         g_textAtom = XInternAtom( (Display*) wxGetDisplay(), "STRING", FALSE );
     if (!g_pngAtom)
         g_pngAtom = XInternAtom( (Display*) wxGetDisplay(), "image/png", FALSE );
     if (!g_fileAtom)
         g_fileAtom = XInternAtom( (Display*) wxGetDisplay(), "text/uri-list", FALSE );
+#endif
 }
 
 //-------------------------------------------------------------------------
@@ -342,7 +351,7 @@ bool wxBitmapDataObject::SetData(size_t size, const void *buf)
         return FALSE;
     }
 
-    m_bitmap = image.ConvertToBitmap();
+    m_bitmap = image;
 
     return m_bitmap.Ok();
 #else
@@ -356,7 +365,7 @@ void wxBitmapDataObject::DoConvertToPng()
     if (!m_bitmap.Ok())
         return;
 
-    wxImage image( m_bitmap );
+    wxImage image = m_bitmap.ConvertToImage();
     wxPNGHandler handler;
 
     wxCountingOutputStream count;