vlc | branch: master | Felix Paul Kühne <fe...@feepk.net> | Tue Jun 11 12:20:16 
2019 +0200| [cce17dd0943774df175b9213fa26e6b4dfebb4f3] | committer: Felix Paul 
Kühne

macosx: don't make the main singleton responsible for saving window states

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=cce17dd0943774df175b9213fa26e6b4dfebb4f3
---

 modules/gui/macosx/main/VLCMain.m                         | 12 +++++-------
 .../gui/macosx/panels/VLCAudioEffectsWindowController.h   |  1 -
 .../gui/macosx/panels/VLCAudioEffectsWindowController.m   | 15 ++++++++++-----
 .../gui/macosx/panels/VLCVideoEffectsWindowController.h   |  2 --
 .../gui/macosx/panels/VLCVideoEffectsWindowController.m   | 15 ++++++++++-----
 5 files changed, 25 insertions(+), 20 deletions(-)

diff --git a/modules/gui/macosx/main/VLCMain.m 
b/modules/gui/macosx/main/VLCMain.m
index d33e8ea0e6..ce1d839691 100644
--- a/modules/gui/macosx/main/VLCMain.m
+++ b/modules/gui/macosx/main/VLCMain.m
@@ -312,20 +312,18 @@ static VLCMain *sharedInstance = nil;
     if (b_intf_terminating)
         return;
     b_intf_terminating = true;
+    NSNotificationCenter *notiticationCenter = [NSNotificationCenter 
defaultCenter];
 
     _continuityController = nil;
 
-    if (notification == nil)
-        [[NSNotificationCenter defaultCenter] postNotificationName: 
NSApplicationWillTerminateNotification object: nil];
-
-    /* save current video and audio profiles */
-    [[self videoEffectsPanel] saveCurrentProfileAtTerminate];
-    [[self audioEffectsPanel] saveCurrentProfileAtTerminate];
+    if (notification == nil) {
+        [notiticationCenter postNotificationName: 
NSApplicationWillTerminateNotification object: nil];
+    }
 
     libvlc_int_t *libvlc = vlc_object_instance(p_intf);
     var_DelCallback(libvlc, "intf-boss", BossCallback, (__bridge void *)self);
 
-    [[NSNotificationCenter defaultCenter] removeObserver: self];
+    [notiticationCenter removeObserver: self];
 
     // closes all open vouts
     _voutProvider = nil;
diff --git a/modules/gui/macosx/panels/VLCAudioEffectsWindowController.h 
b/modules/gui/macosx/panels/VLCAudioEffectsWindowController.h
index 4eb4635a38..bb5a1c8c08 100644
--- a/modules/gui/macosx/panels/VLCAudioEffectsWindowController.h
+++ b/modules/gui/macosx/panels/VLCAudioEffectsWindowController.h
@@ -114,7 +114,6 @@
 - (IBAction)applyProfileCheckboxChanged:(id)sender;
 
 - (void)toggleWindow:(id)sender;
-- (void)saveCurrentProfileAtTerminate;
 
 /* Equalizer */
 - (IBAction)equalizerBandSliderUpdated:(id)sender;
diff --git a/modules/gui/macosx/panels/VLCAudioEffectsWindowController.m 
b/modules/gui/macosx/panels/VLCAudioEffectsWindowController.m
index 2b4af84f4e..2929cb85b2 100644
--- a/modules/gui/macosx/panels/VLCAudioEffectsWindowController.m
+++ b/modules/gui/macosx/panels/VLCAudioEffectsWindowController.m
@@ -204,10 +204,15 @@ NSString *VLCAudioEffectsProfileNamesKey = 
@"AudioEffectProfileNames";
 
 - (void)windowDidLoad
 {
-    [[NSNotificationCenter defaultCenter] addObserver:self
-                                             
selector:@selector(updateCocoaWindowLevel:)
-                                                 
name:VLCWindowShouldUpdateLevel
-                                               object:nil];
+    NSNotificationCenter *notificationCenter = [NSNotificationCenter 
defaultCenter];
+    [notificationCenter addObserver:self
+                           selector:@selector(updateCocoaWindowLevel:)
+                               name:VLCWindowShouldUpdateLevel
+                             object:nil];
+    [notificationCenter addObserver:self
+                           selector:@selector(saveCurrentProfileAtTerminate:)
+                               name:NSApplicationWillTerminateNotification
+                             object:nil];
 
     [_applyProfileCheckbox setState:[[NSUserDefaults standardUserDefaults] 
boolForKey:@"AudioEffectApplyProfileOnStartup"]];
     [_applyProfileCheckbox setTitle:_NS("Apply profile at next launch")];
@@ -403,7 +408,7 @@ NSString *VLCAudioEffectsProfileNamesKey = 
@"AudioEffectProfileNames";
     [defaults setObject:[NSArray arrayWithArray:workArray] 
forKey:VLCAudioEffectsProfilesKey];
 }
 
-- (void)saveCurrentProfileAtTerminate
+- (void)saveCurrentProfileAtTerminate:(NSNotification *)notification
 {
     if ([self currentProfileIndex] > 0) {
         [self saveCurrentProfile];
diff --git a/modules/gui/macosx/panels/VLCVideoEffectsWindowController.h 
b/modules/gui/macosx/panels/VLCVideoEffectsWindowController.h
index cab80a0de6..2adee19826 100644
--- a/modules/gui/macosx/panels/VLCVideoEffectsWindowController.h
+++ b/modules/gui/macosx/panels/VLCVideoEffectsWindowController.h
@@ -167,8 +167,6 @@
 @property (nonatomic) int posterizeValue;
 
 /* generic */
-- (void)saveCurrentProfileAtTerminate;
-
 - (void)toggleWindow:(id)sender;
 - (IBAction)profileSelectorAction:(id)sender;
 - (IBAction)applyProfileCheckboxChanged:(id)sender;
diff --git a/modules/gui/macosx/panels/VLCVideoEffectsWindowController.m 
b/modules/gui/macosx/panels/VLCVideoEffectsWindowController.m
index 05b602329e..6f233cc651 100644
--- a/modules/gui/macosx/panels/VLCVideoEffectsWindowController.m
+++ b/modules/gui/macosx/panels/VLCVideoEffectsWindowController.m
@@ -72,10 +72,15 @@ NSString *VLCVideoEffectsProfileNamesKey = 
@"VideoEffectProfileNames";
 {
     self = [super initWithWindowNibName:@"VideoEffects"];
     if (self) {
-        [[NSNotificationCenter defaultCenter] addObserver:self
-                                                 
selector:@selector(updateCocoaWindowLevel:)
-                                                     
name:VLCWindowShouldUpdateLevel
-                                                   object:nil];
+        NSNotificationCenter *notificationCenter = [NSNotificationCenter 
defaultCenter];
+        [notificationCenter addObserver:self
+                               selector:@selector(updateCocoaWindowLevel:)
+                                   name:VLCWindowShouldUpdateLevel
+                                 object:nil];
+        [notificationCenter addObserver:self
+                               
selector:@selector(saveCurrentProfileAtTerminate:)
+                                   name:NSApplicationWillTerminateNotification
+                                 object:nil];
 
         self.popupPanel = [[VLCPopupPanelController alloc] init];
         self.textfieldPanel = [[VLCTextfieldPanelController alloc] init];
@@ -726,7 +731,7 @@ NSString *VLCVideoEffectsProfileNamesKey = 
@"VideoEffectProfileNames";
     [defaults setObject:[NSArray arrayWithArray:workArray] 
forKey:VLCVideoEffectsProfilesKey];
 }
 
-- (void)saveCurrentProfileAtTerminate
+- (void)saveCurrentProfileAtTerminate:(NSNotification *)aNotification
 {
     if ([self currentProfileIndex] > 0) {
         [self saveCurrentProfile];

_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to