SUScheduledUpdateDriver doesn't call updaterDidNotFindUpdate

Bug #275463 reported by Peter Speck
4
Affects Status Importance Assigned to Milestone
Sparkle
Fix Committed
High
Unassigned
Nominated for 1.5 by Koingo Software

Bug Description

When the update i started using [updater checkForUpdatesInBackground], the clients [delegate didFindValidUpdate] is called (when an update is available) but [delegate updaterDidNotFindUpdate] is not.

This is because [SUScheduledUpdateDriver didFindValidUpdate] calls [super didFindValidUpdate] but [.. didNotFindUpdate] does not.

The fix is to manually call the delegate at the top of didNotFindUpdate.

Current code:
- (void)didNotFindUpdate
{
 [self abortUpdate]; // Don't tell the user that no update was found; this was a scheduled update.
}

Fixed code:
- (void)didNotFindUpdate
{
 if ([[updater delegate] respondsToSelector:@selector(updaterDidNotFindUpdate:)])
  [[updater delegate] updaterDidNotFindUpdate:updater];
 [self abortUpdate]; // Don't tell the user that no update was found; this was a scheduled update.
}

Related branches

Revision history for this message
Andy Matuschak (andymatuschak) wrote :

Thanks for the patch! Merged in r329—please confirm.

Changed in sparkle:
importance: Undecided → High
milestone: none → 1.5
status: New → Confirmed
status: Confirmed → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.