Revision: 7429
http://skim-app.svn.sourceforge.net/skim-app/?rev=7429&view=rev
Author: hofman
Date: 2011-08-14 10:25:58 +0000 (Sun, 14 Aug 2011)
Log Message:
-----------
don't cache chewable items directory, as it may be removed
Modified Paths:
--------------
trunk/NSFileManager_SKExtensions.m
Modified: trunk/NSFileManager_SKExtensions.m
===================================================================
--- trunk/NSFileManager_SKExtensions.m 2011-08-14 08:50:06 UTC (rev 7428)
+++ trunk/NSFileManager_SKExtensions.m 2011-08-14 10:25:58 UTC (rev 7429)
@@ -106,40 +106,38 @@
NSString *SKChewableItemsDirectory() {
// chewable items are automatically cleaned up at restart, and it's hidden
from the user
- static NSString *chewableItemsDirectory = nil;
- if (chewableItemsDirectory == nil) {
- FSRef chewableRef;
- OSErr err = FSFindFolder(kUserDomain, kChewableItemsFolderType, TRUE,
&chewableRef);
+ NSString *chewableItemsDirectory = nil;
+ FSRef chewableRef;
+ OSErr err = FSFindFolder(kUserDomain, kChewableItemsFolderType, TRUE,
&chewableRef);
+
+ CFAllocatorRef alloc = CFAllocatorGetDefault();
+ CFURLRef chewableURL = NULL;
+ if (noErr == err) {
+ chewableURL = CFURLCreateFromFSRef(alloc, &chewableRef);
- CFAllocatorRef alloc = CFAllocatorGetDefault();
- CFURLRef chewableURL = NULL;
- if (noErr == err) {
- chewableURL = CFURLCreateFromFSRef(alloc, &chewableRef);
-
- CFStringRef baseName =
CFStringCreateWithFileSystemRepresentation(alloc, "Skim");
- CFURLRef newURL = CFURLCreateCopyAppendingPathComponent(alloc,
chewableURL, baseName, TRUE);
- FSRef newRef;
-
- if (chewableURL) CFRelease(chewableURL);
-
- assert(NULL != newURL);
-
- if (CFURLGetFSRef(newURL, &newRef) == false) {
- CFIndex nameLength = CFStringGetLength(baseName);
- UniChar *nameBuf = CFAllocatorAllocate(alloc, nameLength *
sizeof(UniChar), 0);
- CFStringGetCharacters(baseName, CFRangeMake(0, nameLength),
nameBuf);
- err = FSCreateDirectoryUnicode(&chewableRef, nameLength,
nameBuf, kFSCatInfoNone, NULL, NULL, NULL, NULL);
- CFAllocatorDeallocate(alloc, nameBuf);
- }
-
- if (noErr == err)
- chewableItemsDirectory = (NSString
*)CFURLCopyFileSystemPath(newURL, kCFURLPOSIXPathStyle);
-
- if (newURL) CFRelease(newURL);
- if (baseName) CFRelease(baseName);
-
- assert(nil != chewableItemsDirectory);
+ CFStringRef baseName =
CFStringCreateWithFileSystemRepresentation(alloc, "Skim");
+ CFURLRef newURL = CFURLCreateCopyAppendingPathComponent(alloc,
chewableURL, baseName, TRUE);
+ FSRef newRef;
+
+ if (chewableURL) CFRelease(chewableURL);
+
+ assert(NULL != newURL);
+
+ if (CFURLGetFSRef(newURL, &newRef) == false) {
+ CFIndex nameLength = CFStringGetLength(baseName);
+ UniChar *nameBuf = CFAllocatorAllocate(alloc, nameLength *
sizeof(UniChar), 0);
+ CFStringGetCharacters(baseName, CFRangeMake(0, nameLength),
nameBuf);
+ err = FSCreateDirectoryUnicode(&chewableRef, nameLength, nameBuf,
kFSCatInfoNone, NULL, NULL, NULL, NULL);
+ CFAllocatorDeallocate(alloc, nameBuf);
}
+
+ if (noErr == err)
+ chewableItemsDirectory = (NSString
*)CFURLCopyFileSystemPath(newURL, kCFURLPOSIXPathStyle);
+
+ if (newURL) CFRelease(newURL);
+ if (baseName) CFRelease(baseName);
+
+ assert(nil != chewableItemsDirectory);
}
return chewableItemsDirectory;
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
FREE DOWNLOAD - uberSVN with Social Coding for Subversion.
Subversion made easy with a complete admin console. Easy
to use, easy to manage, easy to install, easy to extend.
Get a Free download of the new open ALM Subversion platform now.
http://p.sf.net/sfu/wandisco-dev2dev
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit