From: Zygo Blaxell Date: Fri, 30 May 2014 16:16:36 +0000 (-0400) Subject: From http://www.jwz.org/xscreensaver/xscreensaver-5.26.tar.gz X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=commitdiff_plain;h=3f1091236d800c43a3124c44c7da54e53f205b13 From jwz.org/xscreensaver/xscreensaver-5.26.tar.gz -rw-r--r-- 1 zblaxell zblaxell 8760550 Dec 9 06:20 xscreensaver-5.26.tar.gz 8055822b661733e68550872a4ae6b6129c0b73fc xscreensaver-5.26.tar.gz --- diff --git a/OSX/SaverRunner.plist b/OSX/SaverRunner.plist index 7ba00ce8..fc1e334d 100644 --- a/OSX/SaverRunner.plist +++ b/OSX/SaverRunner.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleGetInfoString - 5.25 + 5.26 CFBundleIconFile SaverRunner CFBundleIdentifier @@ -15,21 +15,21 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleLongVersionString - 5.25 + 5.26 CFBundleName ${PRODUCT_NAME} CFBundlePackageType APPL CFBundleShortVersionString - 5.25 + 5.26 CFBundleSignature ???? CFBundleVersion - 5.25 + 5.26 LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} NSHumanReadableCopyright - 5.25 + 5.26 NSMainNibFile SaverRunner NSPrincipalClass diff --git a/OSX/Updater.m b/OSX/Updater.m index f7cd8c68..2e3ccbe1 100644 --- a/OSX/Updater.m +++ b/OSX/Updater.m @@ -24,25 +24,17 @@ - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { - SUUpdater *updater = [SUUpdater updaterForBundle: - [NSBundle bundleForClass:[self class]]]; NSUserDefaults *defs = [NSUserDefaults standardUserDefaults]; [defs registerDefaults:UPDATER_DEFAULTS]; + SUUpdater *updater = [SUUpdater updaterForBundle: + [NSBundle bundleForClass:[self class]]]; [updater setDelegate:self]; - // Launch the updater thread. - [updater checkForUpdatesInBackground]; - - // Now we need to wait for the Sparkle thread to finish before we can - // exit, so just poll waiting for it. - [NSTimer scheduledTimerWithTimeInterval:1 - target:self - selector:@selector(exitWhenDone:) - userInfo:updater - repeats:YES]; + [self awaitScreenSaverTermination:updater]; } + // Delegate method that lets us append extra info to the system-info URL. // - (NSArray *) feedParametersForUpdater:(SUUpdater *)updater @@ -67,6 +59,71 @@ } +// Whether ScreenSaverEngine is currently running, meaning screen is blanked. +// +- (BOOL) screenSaverActive +{ + BOOL found = NO; + NSString *target = @"/ScreenSaverEngine.app"; + ProcessSerialNumber psn = { kNoProcess, kNoProcess }; + while (GetNextProcess(&psn) == noErr) { + CFDictionaryRef cfdict = + ProcessInformationCopyDictionary (&psn, + kProcessDictionaryIncludeAllInformationMask); + if (cfdict) { + NSDictionary *dict = (NSDictionary *) cfdict; + NSString *path = [dict objectForKey:@"BundlePath"]; + if (path && [path hasSuffix:target]) + found = YES; + CFRelease (cfdict); + } + if (found) + break; + } + return found; +} + + +// If the screen saver is not running, then launch the updater. +// Otherwise, wait a while and try again. This is because if the +// updater tries to pop up a dialog box while the screen saver is +// active, everything goes to hell and it never shows up. +// +- (void) awaitScreenSaverTermination:(SUUpdater *)updater +{ + if ([self screenSaverActive]) { + static float delay = 1; + [NSTimer scheduledTimerWithTimeInterval: delay + target:self + selector:@selector(awaitScreenSaverTerminationTimer:) + userInfo:updater + repeats:NO]; + // slightly exponential back-off + delay *= 1.3; + if (delay > 120) + delay = 120; + } else { + // Launch the updater thread. + [updater checkForUpdatesInBackground]; + + // Now we need to wait for the Sparkle thread to finish before we can + // exit, so just poll waiting for it. + // + [NSTimer scheduledTimerWithTimeInterval:1 + target:self + selector:@selector(exitWhenDone:) + userInfo:updater + repeats:YES]; + } +} + + +- (void) awaitScreenSaverTerminationTimer:(NSTimer *)timer +{ + [self awaitScreenSaverTermination:[timer userInfo]]; +} + + - (void) exitWhenDone:(NSTimer *)timer { SUUpdater *updater = [timer userInfo]; @@ -74,6 +131,7 @@ [[NSApplication sharedApplication] terminate:self]; } + - (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)app { return YES; diff --git a/OSX/Updater.plist b/OSX/Updater.plist index 6ba6c89b..eb9a4504 100644 --- a/OSX/Updater.plist +++ b/OSX/Updater.plist @@ -7,7 +7,7 @@ CFBundleExecutable ${EXECUTABLE_NAME} CFBundleGetInfoString - 5.25 + 5.26 CFBundleIconFile SaverRunner CFBundleIdentifier @@ -15,23 +15,25 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleLongVersionString - 5.25 + 5.26 CFBundleName ${PRODUCT_NAME} + CFBundleDisplayName + XScreenSaver CFBundlePackageType APPL CFBundleShortVersionString - 5.25 + 5.26 CFBundleSignature ???? CFBundleVersion - 5.25 + 5.26 LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} LSUIElement NSHumanReadableCopyright - 5.25 + 5.26 NSMainNibFile Updater NSPrincipalClass diff --git a/OSX/XScreenSaver.plist b/OSX/XScreenSaver.plist index f3638267..a11f99aa 100644 --- a/OSX/XScreenSaver.plist +++ b/OSX/XScreenSaver.plist @@ -15,11 +15,11 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 5.25 + 5.26 CFBundleSignature ???? CFBundleVersion - 5.25 + 5.26 LSMinimumSystemVersion 10.4 NSMainNibFile diff --git a/OSX/XScreenSaverView.m b/OSX/XScreenSaverView.m index beb17fd7..c90c7fe4 100644 --- a/OSX/XScreenSaverView.m +++ b/OSX/XScreenSaverView.m @@ -1980,7 +1980,7 @@ double current_device_rotation (void) NSWorkspaceLaunchAndHide) configuration:nil error:&err]) { - NSLog(@"Unable to launch %@: %@", updater, err); + NSLog(@"Unable to launch %@: %@", app_path, err); } # endif // !USE_IPHONE diff --git a/OSX/bindist.rtf b/OSX/bindist.rtf index 43550ab2..8a935704 100644 --- a/OSX/bindist.rtf +++ b/OSX/bindist.rtf @@ -16,7 +16,7 @@ \b0 by Jamie Zawinski\ and many others\ \ -version 5.25\ +version 5.26\ 09-Dec-2013\ \ {\field{\*\fldinst{HYPERLINK "http://www.jwz.org/xscreensaver/"}}{\fldrslt \cf2 \ul \ulc2 http://www.jwz.org/xscreensaver/}}\ diff --git a/OSX/iSaverRunner.plist b/OSX/iSaverRunner.plist index e5456e0f..27eface1 100644 --- a/OSX/iSaverRunner.plist +++ b/OSX/iSaverRunner.plist @@ -5,11 +5,11 @@ CFBundleName ${PRODUCT_NAME} NSHumanReadableCopyright - 5.25 + 5.26 CFBundleDevelopmentRegion English CFBundleVersion - 5.25 + 5.26 NSMainNibFile iSaverRunner CFBundlePackageType @@ -19,7 +19,7 @@ UIViewControllerBasedStatusBarAppearance CFBundleShortVersionString - 5.25 + 5.26 CFBundleInfoDictionaryVersion 6.0 UIRequiredDeviceCapabilities @@ -37,7 +37,7 @@ UIInterfaceOrientationLandscapeRight CFBundleLongVersionString - 5.25 + 5.26 CFBundleIdentifier ${BUNDLE_IDENTIFIER} CFBundleSignature @@ -62,6 +62,6 @@ CFBundleDisplayName ${PRODUCT_NAME} CFBundleGetInfoString - 5.25 + 5.26 diff --git a/OSX/updates.pl b/OSX/updates.pl index bff462d6..c1bfd246 100755 --- a/OSX/updates.pl +++ b/OSX/updates.pl @@ -51,6 +51,8 @@ sub generate_xml($$$$) { next unless $v; $sigs{$v} = $sig if $sig; $dates{$v} = $date if $date; + print STDERR "$progname: $v: " . ($date || '?') . "\n" + if ($verbose > 1); } } @@ -108,6 +110,9 @@ sub generate_xml($$$$) { # Re-generate the sig if the file date changed. $sig = undef if ($odate && $odate ne $date); + print STDERR "$progname: $v1: $date " . ($sig ? "Y" : "N") . "\n" + if ($verbose > 1); + if (!$sig && $zip) { local %ENV = %ENV; $ENV{PATH} = "/usr/bin:$ENV{PATH}"; diff --git a/OSX/updates.xml b/OSX/updates.xml index c1196643..ef7295bc 100644 --- a/OSX/updates.xml +++ b/OSX/updates.xml @@ -7,6 +7,17 @@ http://www.jwz.org/xscreensaver/updates.xml Updates to xscreensaver. en + + Version 5.25 + http://www.jwz.org/xscreensaver/xscreensaver-5.25.dmg + • Some files were missing from the tarball.]]> + Mon, 09 Dec 2013 00:38:35 -0800 + + Version 5.24 http://www.jwz.org/xscreensaver/xscreensaver-5.24.dmg @@ -18,17 +29,6 @@ length="50258845" type="application/octet-stream" /> - - Version 5.23 - http://www.jwz.org/xscreensaver/xscreensaver-5.23.dmg - • iOS and OSX: huge XCopyArea performance improvements.
• More heuristics for using RSS feeds as image sources.
• Improved Wikipedia parser.
• Updated `webcollage' for recent Flickr changes.
• Added Android to `bsod'.
• OSX: Added a real installer.
• iOS and OSX: fixed a font-metrics bug.
• iOS: Fixed aspect ratio bug in non-rotating apps when launched in landscape mode.
• Made `quasicrystal' work on weak graphics cards.
• iOS: fixed `ifs'.
• Better compression on icons, plists and XML files: smaller distribution and installation footprint.
• Reverted that DEACTIVATE change. Bad idea.
• `Phosphor' now supports amber as well as green.]]>
- Sat, 09 Nov 2013 13:29:07 -0800 - -
Version 5.14 http://www.jwz.org/xscreensaver/xscreensaver-5.14.dmg diff --git a/driver/XScreenSaver.ad.in b/driver/XScreenSaver.ad.in index aa59c7c0..aa92e347 100644 --- a/driver/XScreenSaver.ad.in +++ b/driver/XScreenSaver.ad.in @@ -4,7 +4,7 @@ ! a screen saver and locker for the X window system ! by Jamie Zawinski ! -! version 5.25 +! version 5.26 ! 09-Dec-2013 ! ! See "man xscreensaver" for more info. The latest version is always diff --git a/hacks/config/README b/hacks/config/README index 03242c12..2d2b9589 100644 --- a/hacks/config/README +++ b/hacks/config/README @@ -4,7 +4,7 @@ a screen saver and locker for the X window system by Jamie Zawinski - version 5.25 + version 5.26 09-Dec-2013 http://www.jwz.org/xscreensaver/ diff --git a/po/POTFILES.in b/po/POTFILES.in index 97606c7f..e10c35e5 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,4 +1,4 @@ -# Auto-generated: Mon Dec 9 00:26:15 PST 2013 +# Auto-generated: Mon Dec 9 03:01:47 PST 2013 driver/demo-Gtk-conf.c driver/demo-Gtk-support.c driver/demo-Gtk-widgets.c diff --git a/utils/version.h b/utils/version.h index bfd97799..970c920d 100644 --- a/utils/version.h +++ b/utils/version.h @@ -1,2 +1,2 @@ static const char screensaver_id[] = - "@(#)xscreensaver 5.25 (09-Dec-2013), by Jamie Zawinski (jwz@jwz.org)"; + "@(#)xscreensaver 5.26 (09-Dec-2013), by Jamie Zawinski (jwz@jwz.org)"; diff --git a/xscreensaver.spec b/xscreensaver.spec index a0f8ceae..ad355be8 100644 --- a/xscreensaver.spec +++ b/xscreensaver.spec @@ -1,5 +1,5 @@ %define name xscreensaver -%define version 5.25 +%define version 5.26 Summary: X screen saver and locker Name: %{name}