X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8ee9d6182c9b7774477e97f4326766ac05cc70c2..8a729bb860cec596f4ce5a59fabeb4404a266e97:/src/common/dobjcmn.cpp diff --git a/src/common/dobjcmn.cpp b/src/common/dobjcmn.cpp index 50b6fe0718..a71231b2ae 100644 --- a/src/common/dobjcmn.cpp +++ b/src/common/dobjcmn.cpp @@ -232,9 +232,9 @@ void wxFileDataObjectBase::SetFilenames(const wxChar* filenames) wxCustomDataObject::wxCustomDataObject(const wxDataFormat& format) : wxDataObjectSimple(format) { + m_data = (void *)NULL; } - wxCustomDataObject::~wxCustomDataObject() { Free(); @@ -293,15 +293,21 @@ bool wxCustomDataObject::SetData(size_t size, const void *buf) // some common dnd related code // ============================================================================ +#if wxUSE_DRAG_AND_DROP + #include "wx/dnd.h" // ---------------------------------------------------------------------------- // wxTextDropTarget // ---------------------------------------------------------------------------- +// NB: we can't use "new" in ctor initializer lists because this provokes an +// internal compiler error with VC++ 5.0 (hey, even gcc compiles this!), +// so use SetDataObject() instead + wxTextDropTarget::wxTextDropTarget() - : wxDropTarget(new wxTextDataObject) { + SetDataObject(new wxTextDataObject); } wxDragResult wxTextDropTarget::OnData(wxCoord x, wxCoord y, wxDragResult def) @@ -318,8 +324,8 @@ wxDragResult wxTextDropTarget::OnData(wxCoord x, wxCoord y, wxDragResult def) // ---------------------------------------------------------------------------- wxFileDropTarget::wxFileDropTarget() - : wxDropTarget(new wxFileDataObject) { + SetDataObject(new wxFileDataObject); } wxDragResult wxFileDropTarget::OnData(wxCoord x, wxCoord y, wxDragResult def) @@ -331,3 +337,5 @@ wxDragResult wxFileDropTarget::OnData(wxCoord x, wxCoord y, wxDragResult def) return OnDropFiles(x, y, dobj->GetFilenames()) ? def : wxDragNone; } +#endif +