diff --git a/src/mac/carbon/dataobj.cpp b/src/mac/carbon/dataobj.cpp index 64dc8053d0..cc6f7df020 100644 --- a/src/mac/carbon/dataobj.cpp +++ b/src/mac/carbon/dataobj.cpp @@ -206,7 +206,10 @@ bool wxFileDataObject::SetData( { m_filenames.Empty(); - AddFile(wxString::FromAscii((char*)pBuf)); + // only add if this is not an empty string + // we can therefore clear the list by just setting an empty string + if ( (*(char*)pBuf) != 0 ) + AddFile(wxString::FromAscii((char*)pBuf)); return TRUE; } diff --git a/src/mac/carbon/dnd.cpp b/src/mac/carbon/dnd.cpp index 5744c01f3d..37c444ed78 100644 --- a/src/mac/carbon/dnd.cpp +++ b/src/mac/carbon/dnd.cpp @@ -213,13 +213,13 @@ bool wxDropTarget::GetData() { HFSFlavor* theFile = (HFSFlavor*) theData ; wxString name = wxMacFSSpec2MacFilename( &theFile->fileSpec ) ; - if ( firstFileAdded ) - ((wxFileDataObject*)m_dataObject)->AddFile( name ) ; - else + if ( !firstFileAdded ) { - ((wxFileDataObject*)m_dataObject)->SetData( 0 , name.c_str() ) ; + // reset file list + ((wxFileDataObject*)m_dataObject)->SetData( 0 , "" ) ; firstFileAdded = true ; } + ((wxFileDataObject*)m_dataObject)->AddFile( name ) ; } else {