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