From 2f4ba073a396d1bacf0402790d0002c2a3d534f6 Mon Sep 17 00:00:00 2001 From: Claudio Cambra <claudio.cambra@gmail.com> Date: Sun, 4 Sep 2022 20:20:43 +0200 Subject: [PATCH] macosx: Fix bugs with library window restoration and setting of navigation stack state Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com> --- modules/gui/macosx/library/VLCLibraryAudioDataSource.m | 2 +- modules/gui/macosx/library/VLCLibraryNavigationState.m | 2 +- modules/gui/macosx/library/VLCLibraryWindow.m | 6 +++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/gui/macosx/library/VLCLibraryAudioDataSource.m b/modules/gui/macosx/library/VLCLibraryAudioDataSource.m index 36849b5d5c6c..cce2e707e676 100644 --- a/modules/gui/macosx/library/VLCLibraryAudioDataSource.m +++ b/modules/gui/macosx/library/VLCLibraryAudioDataSource.m @@ -200,7 +200,7 @@ { [self.segmentedControl setTarget:self]; [self.segmentedControl setAction:@selector(segmentedControlAction:)]; - [self segmentedControlAction:self]; + [self segmentedControlAction:[[[VLCMain sharedInstance] libraryWindow] navigationStack]]; } - (void)reloadEmptyViewAppearance diff --git a/modules/gui/macosx/library/VLCLibraryNavigationState.m b/modules/gui/macosx/library/VLCLibraryNavigationState.m index fad5498ec012..f0d71637cb1f 100644 --- a/modules/gui/macosx/library/VLCLibraryNavigationState.m +++ b/modules/gui/macosx/library/VLCLibraryNavigationState.m @@ -39,4 +39,4 @@ return navState; } -@end \ No newline at end of file +@end diff --git a/modules/gui/macosx/library/VLCLibraryWindow.m b/modules/gui/macosx/library/VLCLibraryWindow.m index 84f97b16d17f..b254d57f1e1d 100644 --- a/modules/gui/macosx/library/VLCLibraryWindow.m +++ b/modules/gui/macosx/library/VLCLibraryWindow.m @@ -995,8 +995,12 @@ static void addShadow(NSImageView *__unsafe_unretained imageView) [libraryWindow.gridVsListSegmentedControl setSelectedSegment:rememberedSelectedLibraryViewModeSegment]; [libraryWindow.libraryAudioDataSource.segmentedControl setSelectedSegment:rememberedSelectedLibraryViewAudioSegment]; - [libraryWindow segmentedControlAction:libraryWindow.navigationStack]; // Prevent actions being added to the nav stack + // We don't want to add these to the navigation stack... [libraryWindow.libraryAudioDataSource segmentedControlAction:libraryWindow.navigationStack]; + [libraryWindow segmentedControlAction:libraryWindow.navigationStack]; + + // But we do want the "final" initial position to be added. So we manually invoke the navigation stack + [libraryWindow.navigationStack appendCurrentLibraryState]; completionHandler(libraryWindow, nil); } -- GitLab