X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0766270090c5f6635f036d8310ba9ec6027fc9c2..0c545056876c23429f79bec98287be08e3c420f7:/src/msw/ole/dataobj.cpp diff --git a/src/msw/ole/dataobj.cpp b/src/msw/ole/dataobj.cpp index e02973d999..ba2cb10bc8 100644 --- a/src/msw/ole/dataobj.cpp +++ b/src/msw/ole/dataobj.cpp @@ -90,7 +90,7 @@ private: ULONG m_nCount, // number of formats we support m_nCurrent; // current enum position - DECLARE_NO_COPY_CLASS(wxIEnumFORMATETC) + wxDECLARE_NO_COPY_CLASS(wxIEnumFORMATETC); }; // ---------------------------------------------------------------------------- @@ -126,7 +126,7 @@ private: bool m_mustDelete; - DECLARE_NO_COPY_CLASS(wxIDataObject) + wxDECLARE_NO_COPY_CLASS(wxIDataObject); }; // ============================================================================ @@ -686,13 +686,14 @@ size_t wxDataObject::GetBufferOffset(const wxDataFormat& format ) return NeedsVerbatimData(format) ? 0 : sizeof(size_t); } -const void* wxDataObject::GetSizeFromBuffer( const void* buffer, size_t* size, - const wxDataFormat& format ) +const void *wxDataObject::GetSizeFromBuffer(const void *buffer, + size_t *size, + const wxDataFormat& WXUNUSED(format)) { // hack: the third parameter is declared non-const in Wine's headers so // cast away the const - size_t realsz = ::HeapSize(::GetProcessHeap(), 0, - wx_const_cast(void*, buffer)); + const size_t realsz = ::HeapSize(::GetProcessHeap(), 0, + const_cast(buffer)); if ( realsz == (size_t)-1 ) { // note that HeapSize() does not set last error @@ -702,18 +703,7 @@ const void* wxDataObject::GetSizeFromBuffer( const void* buffer, size_t* size, *size = realsz; - // check if this data has its size prepended (as it was by default for wx - // programs prior 2.6.3): - size_t *p = (size_t *)buffer; - if ( *p == realsz ) - { - if ( NeedsVerbatimData(format) ) - wxLogDebug(wxT("Apparent data format mismatch: size not needed")); - - p++; // this data has its size prepended; skip first DWORD - } - - return p; + return buffer; } void* wxDataObject::SetSizeInBuffer( void* buffer, size_t size, @@ -1209,7 +1199,7 @@ public: { return GetDataHere(buf); } #endif - DECLARE_NO_COPY_CLASS(CFSTR_SHELLURLDataObject) + wxDECLARE_NO_COPY_CLASS(CFSTR_SHELLURLDataObject); }; @@ -1259,11 +1249,15 @@ void wxURLDataObject::SetURL(const wxString& url) if ( urlMB ) { const size_t len = strlen(urlMB) + 1; // size with trailing NUL +#if !wxUSE_UNICODE SetData(wxDF_TEXT, len, urlMB); +#endif SetData(wxDataFormat(CFSTR_SHELLURL), len, urlMB); } +#if wxUSE_UNICODE SetData(wxDF_UNICODETEXT, url.length() + 1, url.wc_str()); +#endif } // ----------------------------------------------------------------------------