diff -r b267fe51714c -r 7ce6eae41e33 AbstractFileBrowser.st --- a/AbstractFileBrowser.st Thu Jun 12 13:19:14 2003 +0200 +++ b/AbstractFileBrowser.st Thu Jun 12 13:19:54 2003 +0200 @@ -3291,23 +3291,27 @@ !AbstractFileBrowser methodsFor:'drag & drop'! canDropFiles:dropedObjects for:filename - | checkObject filenameDirString checkObjectString filenameDir| + | filenameDirString filenameDir| dropedObjects isEmpty ifTrue:[^ false]. filenameDir := self getDirWithoutFileName:filename. filenameDir isWritable not ifTrue:[^ false]. filenameDirString := filenameDir asString. - dropedObjects do:[:aObject | - checkObject := aObject theObject. - checkObjectString := checkObject asString. - checkObject isDirectory ifTrue:[ - (self fileName:filenameDirString startsWith:checkObjectString) ifTrue:[ + + dropedObjects do:[:aDropObject | + |dropFileName dropFileNameString| + + dropFileName := aDropObject theObject. + dropFileNameString := dropFileName asString. + dropFileName isDirectory ifTrue:[ + (self fileName:filenameDirString startsWith:dropFileNameString) ifTrue:[ " can not drop a directory in his parents " ^ false ] ] ifFalse:[ - (filenameDirString = checkObject directory asString - or:[ filenameDirString = checkObject physicalPathName asFilename directory asString ]) ifTrue:[ + (filenameDirString = dropFileName directory asString + or:[ aDropObject isFileInArchive not + and:[ filenameDirString = dropFileName physicalPathName asFilename directory asString] ]) ifTrue:[ " can not drop a file in same directory " ^ false ] @@ -6354,5 +6358,5 @@ !AbstractFileBrowser class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.153 2003-06-10 22:11:04 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/AbstractFileBrowser.st,v 1.154 2003-06-12 11:19:54 cg Exp $' ! !