Need to notify SUUpdateDriverFinishedNotification on main thread
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Sparkle |
Fix Committed
|
High
|
Unassigned |
Bug Description
The -abortUpdate method in SSUpdateDriver.m should notify SUUpdateDriverF
- (void)abortUpdate
{
[self setValue:[NSNumber numberWithBool:YES] forKey:
[self performSelector
}
- (void)_
{
[[NSNotificati
}
The way the code is now, the notification goes off on the detached thread, causing the SUUpdater.m -scheduleNextUp
This bug is in the 1.5b6 source. See the attached screenshot showing the stack trace where the checkTimer is put onto the wrong run loop.
The problem is not with SUUpdateDriver or its subclasses, as that never spawns a thread, so it should also not be fixed in those classes. The problem is in the SUPlainInstaller class which does not call back on the main thread. It should be fixed there. That class has more threading problems: AFAICS the method +copyPathWithAu thentication: overPath: error: is not thread safe (i.p. NSFileManager is not thread safe). So either this method needs to be made thread safe, or it should only be called on the main thread.