From http://www.jwz.org/xscreensaver/xscreensaver-5.27.tar.gz
[xscreensaver] / OSX / SaverRunner.m
index 3b770b5a6079b52974596e689c1624d5f582fe84..e2cd11c5808b521a57e9417583fb8d4f28ca9ba1 100644 (file)
@@ -445,6 +445,8 @@ relabel_menus (NSObject *v, NSString *old_str, NSString *new_str)
       [saverView stopAnimation];
     [saverView removeFromSuperview];
     [backgroundView removeFromSuperview];
+    [[NSNotificationCenter defaultCenter] removeObserver:saverView];
+    [saverView release];
   }
 
   NSSize size = [window frame].size;
@@ -461,7 +463,6 @@ relabel_menus (NSObject *v, NSString *old_str, NSString *new_str)
   }
 
   [saverView setFrame: [window frame]];
-  [saverView retain];
   [[NSNotificationCenter defaultCenter]
     addObserver:saverView
     selector:@selector(didRotate:)
@@ -1103,6 +1104,8 @@ FAIL:
               [NSString stringWithFormat:@"XScreenSaverWindow%d", i]];
     [win setFrameUsingName:[win frameAutosaveName]];
     [a addObject: win];
+    // This prevents clicks from being seen by savers.
+    // [win setMovableByWindowBackground:YES];
   }
 # else  // USE_IPHONE
 
@@ -1213,7 +1216,7 @@ FAIL:
 #ifndef USE_IPHONE
 
 /* When the window closes, exit (even if prefs still open.)
-*/
+ */
 - (BOOL) applicationShouldTerminateAfterLastWindowClosed: (NSApplication *) n
 {
   return YES;