From: Stefan Csomor Date: Thu, 23 Mar 2006 18:18:20 +0000 (+0000) Subject: filedata implementation streamlined X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/55f5548f782e57d1067cf0ab10c51d7ec5af61ac?ds=inline filedata implementation streamlined git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38315 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/mac/carbon/dnd.cpp b/src/mac/carbon/dnd.cpp index ba746ab3e6..3de09fe3e8 100644 --- a/src/mac/carbon/dnd.cpp +++ b/src/mac/carbon/dnd.cpp @@ -189,6 +189,8 @@ bool wxDropTarget::GetData() FlavorFlags theFlags; UInt16 flavors; bool firstFileAdded = false; + + wxString filenamesPassed ; CountDragItems( (DragReference)m_currentDrag, &items ); for (UInt16 index = 1; index <= items; ++index) @@ -261,23 +263,13 @@ bool wxDropTarget::GetData() case kDragFlavorTypeHFS: { - wxFileDataObject *fdo = dynamic_cast(m_dataObject); - wxASSERT( fdo != NULL ); - - if ((theData != NULL) && (fdo != NULL)) + if (theData != NULL) { HFSFlavor* theFile = (HFSFlavor*) theData; wxString name = wxMacFSSpec2MacFilename( &theFile->fileSpec ); - if ( !firstFileAdded ) - { - // reset file list - fdo->SetData( 0, "" ); - firstFileAdded = true; - } - if (!name.IsEmpty()) - fdo->AddFile( name ); + filenamesPassed += name + wxT("\n"); } } break; @@ -293,6 +285,11 @@ bool wxDropTarget::GetData() } } } + if ( filenamesPassed.Len() > 0 ) + { + wxCharBuffer buf = filenamesPassed.fn_str(); + m_dataObject->SetData( wxDataFormat( wxDF_FILENAME ) , strlen( buf ) , (const char*) buf ); + } } return true;