]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/ole/dataobj.cpp
compilation fix for WXWIN_COMPATIBILITY_2 == 1
[wxWidgets.git] / src / msw / ole / dataobj.cpp
index a909b3e85e49c11871194d7953f3611ea3bc116b..6aa1b3976262a4c91b251eb1f0467d3af3ec79fb 100644 (file)
 
 #include "wx/msw/private.h"         // includes <windows.h>
 
-#if wxUSE_NORLANDER_HEADERS
+// for some compilers, the entire ole2.h must be included, not only oleauto.h
+#if wxUSE_NORLANDER_HEADERS || defined(__WATCOMC__)
   #include <ole2.h>
 #endif
-#include <oleauto.h>
-
-#ifndef __WIN32__
-  #include <ole2.h>
-  #include <olestd.h>
-#endif
 
+#include <oleauto.h>
 #include <shlobj.h>
 
 #include "wx/msw/ole/oleutils.h"
 
 #include "wx/msw/dib.h"
 
-#ifdef __WXWINE__
-#define LPDROPFILES DROPFILES*
-#endif
-
 #ifndef CFSTR_SHELLURL
 #define CFSTR_SHELLURL _T("UniformResourceLocator")
 #endif
@@ -95,6 +87,8 @@ private:
     CLIPFORMAT *m_formats;  // formats we can provide data in
     ULONG       m_nCount,   // number of formats we support
                 m_nCurrent; // current enum position
+
+    DECLARE_NO_COPY_CLASS(wxIEnumFORMATETC)
 };
 
 // ----------------------------------------------------------------------------
@@ -129,6 +123,8 @@ private:
     wxDataObject *m_pDataObject;      // pointer to C++ class we belong to
 
     bool m_mustDelete;
+
+    DECLARE_NO_COPY_CLASS(wxIDataObject)
 };
 
 // ============================================================================
@@ -474,7 +470,7 @@ STDMETHODIMP wxIDataObject::SetData(FORMATETC *pformatetc,
     || ( defined(__MWERKS__) && defined(__WXMSW__) )
                         size = std::wcslen((const wchar_t *)pBuf) * sizeof(wchar_t);
 #else
-                        size = ::wcslen((const wchar_t *)pBuf) * sizeof(wchar_t);
+                        size = wxWcslen((const wchar_t *)pBuf) * sizeof(wchar_t);
 #endif
                         break;
 #endif
@@ -1098,7 +1094,7 @@ protected:
         // CFSTR_SHELLURL is _always_ ANSI!
         wxCharBuffer char_buffer( GetDataSize() );
         wxCustomDataObject::GetDataHere( (void*)char_buffer.data() );
-        wxString unicode_buffer( char_buffer );
+        wxString unicode_buffer( char_buffer, wxConvLibc );
         memcpy( buffer, unicode_buffer.c_str(),
                 ( unicode_buffer.length() + 1 ) * sizeof(wxChar) );