From e8dadfdeae394bee6bd7e36bc208390a515f4a5d Mon Sep 17 00:00:00 2001 From: Simone Manganelli Date: Tue, 5 May 2009 09:58:56 +0800 Subject: [PATCH] Sparkle now correctly relaunches WebKit instead of Safari after installing an update Signed-off-by: Jonathan 'Wolf' Rentzsch --- Plugin/Plugin.m | 6 +++++- SparkleManager.h | 3 +++ SparkleManager.m | 4 +++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Plugin/Plugin.m b/Plugin/Plugin.m index 4605d39e..6d09f4a8 100644 --- a/Plugin/Plugin.m +++ b/Plugin/Plugin.m @@ -90,7 +90,11 @@ - (id) initWithArguments:(NSDictionary *)arguments { self = [super init]; if (self) { - [[SparkleManager sharedManager] startAutomaticallyCheckingForUpdates]; + SparkleManager *sharedSparkleManager = [SparkleManager sharedManager]; + NSWorkspace *sharedWorkspace = [NSWorkspace sharedWorkspace]; + NSString *pathToRelaunch = [sharedWorkspace absolutePathForAppBundleWithIdentifier:[self launchedAppBundleIdentifier]]; + [sharedSparkleManager setPathToRelaunch:pathToRelaunch]; + [sharedSparkleManager startAutomaticallyCheckingForUpdates]; if (![[NSUserDefaults standardUserDefaults] objectForKey:sAutoLoadInvisibleFlashViewsKey]) { // Default to auto-loading invisible flash views. diff --git a/SparkleManager.h b/SparkleManager.h index d14c3ade..d3b0d649 100644 --- a/SparkleManager.h +++ b/SparkleManager.h @@ -31,6 +31,7 @@ @interface SparkleManager : NSObject { SUUpdater *_updater; BOOL _canUpdate; + NSString *_pathToRelaunch; } + (id)sharedManager; @@ -39,4 +40,6 @@ - (void)startAutomaticallyCheckingForUpdates; - (void)checkForUpdates; +@property (retain) NSString *pathToRelaunch; + @end diff --git a/SparkleManager.m b/SparkleManager.m index 1590a086..8793e580 100644 --- a/SparkleManager.m +++ b/SparkleManager.m @@ -117,7 +117,9 @@ - (void)checkForUpdates { } - (NSString*)pathToRelaunchForUpdater:(SUUpdater*)updater { - return [[NSBundle mainBundle] bundlePath]; + return _pathToRelaunch; } +@synthesize pathToRelaunch = _pathToRelaunch; + @end