X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ad9bb75ff2c6a1734c24742c5f39ed8be197e16d..acc0ebd7a871124d4d6b36069340227e6c584f38:/src/msw/ole/droptgt.cpp diff --git a/src/msw/ole/droptgt.cpp b/src/msw/ole/droptgt.cpp index 329716dd27..094ca925e4 100644 --- a/src/msw/ole/droptgt.cpp +++ b/src/msw/ole/droptgt.cpp @@ -30,12 +30,15 @@ #include "wx/setup.h" -#if wxUSE_DRAG_AND_DROP +#if wxUSE_OLE && wxUSE_DRAG_AND_DROP #include "wx/log.h" #ifdef __WIN32__ - #ifndef __GNUWIN32__ + #if !defined(__GNUWIN32__) || wxUSE_NORLANDER_HEADERS + #if wxCHECK_W32API_VERSION( 1, 0 ) + #include + #endif #include // for DROPFILES structure #endif #else @@ -61,7 +64,7 @@ class wxIDropTarget : public IDropTarget { public: wxIDropTarget(wxDropTarget *p); - ~wxIDropTarget(); + virtual ~wxIDropTarget(); // accessors for wxDropTarget void SetHwnd(HWND hwnd) { m_hwnd = hwnd; } @@ -157,7 +160,7 @@ STDMETHODIMP wxIDropTarget::DragEnter(IDataObject *pIDataSource, // we need client coordinates to pass to wxWin functions if ( !ScreenToClient(m_hwnd, (POINT *)&pt) ) { - wxLogLastError("ScreenToClient"); + wxLogLastError(wxT("ScreenToClient")); } // give some visual feedback @@ -197,7 +200,7 @@ STDMETHODIMP wxIDropTarget::DragOver(DWORD grfKeyState, // we need client coordinates to pass to wxWin functions if ( !ScreenToClient(m_hwnd, (POINT *)&pt) ) { - wxLogLastError("ScreenToClient"); + wxLogLastError(wxT("ScreenToClient")); } *pdwEffect = ConvertDragResultToEffect( @@ -250,7 +253,7 @@ STDMETHODIMP wxIDropTarget::Drop(IDataObject *pIDataSource, // we need client coordinates to pass to wxWin functions if ( !ScreenToClient(m_hwnd, (POINT *)&pt) ) { - wxLogLastError("ScreenToClient"); + wxLogLastError(wxT("ScreenToClient")); } // first ask the drop target if it wants data @@ -260,7 +263,7 @@ STDMETHODIMP wxIDropTarget::Drop(IDataObject *pIDataSource, // and now it has the data wxDragResult rc = ConvertDragEffectToResult(GetDropEffect(grfKeyState)); - m_pTarget->OnData(pt.x, pt.y, rc); + rc = m_pTarget->OnData(pt.x, pt.y, rc); if ( wxIsDragResultOk(rc) ) { // operation succeeded *pdwEffect = ConvertDragResultToEffect(rc); @@ -305,7 +308,7 @@ bool wxDropTarget::Register(WXHWND hwnd) { HRESULT hr = ::CoLockObjectExternal(m_pIDropTarget, TRUE, FALSE); if ( FAILED(hr) ) { - wxLogApiError("CoLockObjectExternal", hr); + wxLogApiError(wxT("CoLockObjectExternal"), hr); return FALSE; } @@ -313,7 +316,7 @@ bool wxDropTarget::Register(WXHWND hwnd) if ( FAILED(hr) ) { ::CoLockObjectExternal(m_pIDropTarget, FALSE, FALSE); - wxLogApiError("RegisterDragDrop", hr); + wxLogApiError(wxT("RegisterDragDrop"), hr); return FALSE; } @@ -328,7 +331,7 @@ void wxDropTarget::Revoke(WXHWND hwnd) HRESULT hr = ::RevokeDragDrop((HWND) hwnd); if ( FAILED(hr) ) { - wxLogApiError("RevokeDragDrop", hr); + wxLogApiError(wxT("RevokeDragDrop"), hr); } ::CoLockObjectExternal(m_pIDropTarget, FALSE, TRUE); @@ -377,11 +380,11 @@ bool wxDropTarget::GetData() rc = TRUE; } else { - wxLogLastError("IDataObject::SetData()"); + wxLogLastError(wxT("IDataObject::SetData()")); } } else { - wxLogLastError("IDataObject::GetData()"); + wxLogLastError(wxT("IDataObject::GetData()")); } return rc; @@ -421,7 +424,8 @@ wxDataFormat wxDropTarget::GetSupportedFormat(IDataObject *pIDataSource) const // get the list of supported formats size_t nFormats = m_dataObject->GetFormatCount(wxDataObject::Set); - wxDataFormat format, *formats; + wxDataFormat format; + wxDataFormat *formats; formats = nFormats == 1 ? &format : new wxDataFormat[nFormats]; m_dataObject->GetAllFormats(formats, wxDataObject::Set);