Revision: 7501
http://skim-app.svn.sourceforge.net/skim-app/?rev=7501&view=rev
Author: hofman
Date: 2011-09-21 16:48:49 +0000 (Wed, 21 Sep 2011)
Log Message:
-----------
use file manager on main thread
Modified Paths:
--------------
trunk/vendorsrc/andymatuschak/Sparkle/SUDiskImageUnarchiver.m
Modified: trunk/vendorsrc/andymatuschak/Sparkle/SUDiskImageUnarchiver.m
===================================================================
--- trunk/vendorsrc/andymatuschak/Sparkle/SUDiskImageUnarchiver.m
2011-09-21 15:16:35 UTC (rev 7500)
+++ trunk/vendorsrc/andymatuschak/Sparkle/SUDiskImageUnarchiver.m
2011-09-21 16:48:49 UTC (rev 7501)
@@ -66,34 +66,10 @@
[NSTask launchedTaskWithLaunchPath:@"/usr/bin/hdiutil" arguments:[NSArray
arrayWithObjects:@"detach", mountPoint, @"-force", nil]];
}
-- (void)_extractDMG
+- (void)_extractDMGFromPath:(NSString *)mountPoint
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
- // get a local copy of NSFileManager because this is running from a
secondary thread
- NSFileManager *fm;
- if (floor(NSAppKitVersionNumber) > NSAppKitVersionNumber10_4)
- fm = [[[NSFileManager alloc] init] autorelease];
- else
- fm = [NSFileManager defaultManager];
-
- // get a unique mount point path
- NSString *mountPointName = nil;
- NSString *mountPoint = nil;
- do
- {
- CFUUIDRef uuid = CFUUIDCreate(NULL);
- mountPointName = (NSString *)CFUUIDCreateString(NULL, uuid);
- CFRelease(uuid);
-#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_4
- [NSMakeCollectable((CFStringRef)mountPointName) autorelease];
-#else
- [mountPointName autorelease];
-#endif
- mountPoint = [@"/Volumes"
stringByAppendingPathComponent:mountPointName];
- }
- while ([fm fileExistsAtPath:mountPoint]);
-
NSArray* arguments = [NSArray arrayWithObjects:@"attach", archivePath,
@"-mountpoint", mountPoint, @"-noverify", @"-nobrowse", @"-noautoopen", nil];
// set up a pipe and push "yes" (y works too), this will accept any
license agreement crap
// not every .dmg needs this, but this will make sure it works with
everyone
@@ -112,7 +88,18 @@
- (void)start
{
- [NSThread detachNewThreadSelector:@selector(_extractDMG) toTarget:self
withObject:nil];
+ NSString *mountPoint = nil;
+ do
+ {
+ CFUUIDRef uuid = CFUUIDCreate(NULL);
+ NSString *mountPointName = (NSString *)CFUUIDCreateString(NULL,
uuid);
+ CFRelease(uuid);
+ mountPoint = [@"/Volumes"
stringByAppendingPathComponent:mountPointName];
+ [mountPointName release];
+ }
+ while ([[NSFileManager defaultManager] fileExistsAtPath:mountPoint]);
+
+ [NSThread detachNewThreadSelector:@selector(_extractDMGFromPath:)
toTarget:self withObject:mountPoint];
}
+ (void)load
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit