// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "dataobj.h"
#endif
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
#include "wx/dataobj.h"
#include "wx/app.h"
#include "wx/debug.h"
#include "wx/mstream.h"
#include "wx/image.h"
+#include "wx/log.h"
#include <gdk/gdk.h>
void wxDataFormat::SetType( wxDataFormatId type )
{
PrepareFormats();
- m_type = type;
+
+ if (type == wxDF_UNICODETEXT)
+ type = wxDF_TEXT;
+ m_type = type;
+
if (m_type == wxDF_TEXT)
m_format = g_textAtom;
else
// here (with whom?)
if (!g_textAtom)
#if wxUSE_UNICODE
- g_textAtom = gdk_atom_intern( "text/utf8", FALSE );
+ g_textAtom = gdk_atom_intern( "UTF8_STRING", FALSE );
#else
g_textAtom = gdk_atom_intern( "STRING" /* "text/plain" */, FALSE );
#endif
{
}
+wxDataObject::~wxDataObject()
+{
+ // dtor is empty but needed for Darwin and AIX -- otherwise it doesn't link
+}
+
bool wxDataObject::IsSupportedFormat(const wxDataFormat& format, Direction dir) const
{
size_t nFormatCount = GetFormatCount(dir);
for (size_t i = 0; i < m_filenames.GetCount(); i++)
{
+ filenames += wxT("file:");
filenames += m_filenames[i];
- filenames += (wxChar) 0;
+ filenames += wxT("\r\n");
}
memcpy( buf, filenames.mbc_str(), filenames.Len() + 1 );
for (size_t i = 0; i < m_filenames.GetCount(); i++)
{
+ // This is junk in UTF-8
res += m_filenames[i].Len();
- res += 1;
+ res += 5 + 2; // "file:" (5) + "\r\n" (2)
}
return res + 1;