diff --git a/baRSS/Info.plist b/baRSS/Info.plist
index c3ccd2a..87dac77 100644
--- a/baRSS/Info.plist
+++ b/baRSS/Info.plist
@@ -70,7 +70,7 @@
CFBundleVersion
- 14811
+ 14833
LSApplicationCategoryType
public.app-category.news
LSMinimumSystemVersion
diff --git a/baRSS/Preferences/Preferences.m b/baRSS/Preferences/Preferences.m
index 3d99135..8af0e91 100644
--- a/baRSS/Preferences/Preferences.m
+++ b/baRSS/Preferences/Preferences.m
@@ -22,7 +22,7 @@
TabItem(NSImageNameFontPanel, NSLocalizedString(@"Appearance", nil), [SettingsAppearance class]),
TabItem(NSImageNameInfo, NSLocalizedString(@"About", nil), [SettingsAbout class]),
];
- [self switchToTab: UserPrefsUInt(Pref_prefSelectedTab)];
+ self.selectedTabViewItemIndex = -1;
}
return self;
}
@@ -38,19 +38,16 @@ static inline NSTabViewItem* TabItem(NSImageName imageName, NSString *text, Clas
/// Safely set selected index without out of bounds exception
- (__kindof NSViewController*)switchToTab:(NSUInteger)index {
if (index < 0 || index >= self.tabViewItems.count)
- return nil;
- NSTabViewItem *tab = self.tabViewItems[index];
- if (tab.identifier == NSToolbarFlexibleSpaceItemIdentifier)
- return nil;
+ index = 0;
self.selectedTabViewItemIndex = (NSInteger)index;
- return [tab viewController];
+ return [self.tabViewItems[index] viewController];
}
/// Delegate method, store last selected tab to user preferences
- (void)tabView:(NSTabView*)tabView didSelectTabViewItem:(nullable NSTabViewItem*)tabViewItem {
[super tabView:tabView didSelectTabViewItem:tabViewItem];
NSInteger newIndex = self.selectedTabViewItemIndex;
- if (UserPrefsInt(Pref_prefSelectedTab) != newIndex)
+ if (newIndex != -1 && UserPrefsInt(Pref_prefSelectedTab) != newIndex)
UserPrefsSetInt(Pref_prefSelectedTab, newIndex);
}
@@ -65,7 +62,8 @@ static inline NSTabViewItem* TabItem(NSImageName imageName, NSString *text, Clas
w.contentMinSize = NSMakeSize(320, 327);
w.windowController.shouldCascadeWindows = YES;
w.title = [NSString stringWithFormat:NSLocalizedString(@"%@ Preferences", nil), NSProcessInfo.processInfo.processName];
- w.contentViewController = [PrefTabs new];
+ PrefTabs *tabController = [PrefTabs new];
+ w.contentViewController = tabController;
[w.toolbar insertItemWithItemIdentifier:NSToolbarSpaceItemIdentifier atIndex:3];
[w.toolbar insertItemWithItemIdentifier:NSToolbarFlexibleSpaceItemIdentifier atIndex:4];
w.delegate = w;
@@ -76,6 +74,7 @@ static inline NSTabViewItem* TabItem(NSImageName imageName, NSString *text, Clas
} else {
[w setFrameFromString:prevFrame];
}
+ [tabController switchToTab:UserPrefsUInt(Pref_prefSelectedTab)];
return w;
}