From: <ama...@us...> - 2006-04-30 02:51:42
|
Revision: 6363 Author: amaxwell Date: 2006-04-29 19:51:13 -0700 (Sat, 29 Apr 2006) ViewCVS: http://svn.sourceforge.net/bibdesk/?rev=6363&view=rev Log Message: ----------- Call FSCopyObjectSync on 10.4+, since FSCopyObject loses xattrs. Previous commit message was not correct; no copying method preserves Finder comments. Modified Paths: -------------- trunk/bibdesk/NSFileManager_BDSKExtensions.m Modified: trunk/bibdesk/NSFileManager_BDSKExtensions.m =================================================================== --- trunk/bibdesk/NSFileManager_BDSKExtensions.m 2006-04-30 00:56:27 UTC (rev 6362) +++ trunk/bibdesk/NSFileManager_BDSKExtensions.m 2006-04-30 02:51:13 UTC (rev 6363) @@ -325,10 +325,16 @@ success = CFURLGetFSRef((CFURLRef)dstURL, &dstDirRef); OSErr err = noErr; - - if(success) - err = FSCopyObject(&srcFileRef, &dstDirRef, 0 /*recurse all directories*/, kFSCatInfoNone, kDupeActionStandard, NULL, FALSE, FALSE, NULL, NULL, NULL, NULL); + if(success){ + // FSCopyObjectSync is only available on 10.4. We use it on 10.4, though, because FSCopyObject loses xattrs rdar://problem/4531816 + // unfortunately, neither function copies Spotlight comments (and neither does NSFileManager) rdar://problem/4531819 + if(FSCopyObjectSync != NULL) + err = FSCopyObjectSync(&srcFileRef, &dstDirRef, NULL, NULL, 0); + else + err = FSCopyObject(&srcFileRef, &dstDirRef, 0 /*recurse all directories*/, kFSCatInfoNone, kDupeActionStandard, NULL, FALSE, FALSE, NULL, NULL, NULL, NULL); + } + if(NO == success && error != nil){ NSString *errorMessage = nil; if(GetMacOSStatusCommentString != NULL && noErr != err) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |