]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/dobjcmn.cpp
RemoveAt() added to array classes
[wxWidgets.git] / src / common / dobjcmn.cpp
index 50b6fe07188790ab528463a8dcc4bc77e9048c47..a71231b2ae85d96d514c2a3810b8c4eee4e38b84 100644 (file)
@@ -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
+