Revision: 13895
http://sourceforge.net/p/skim-app/code/13895
Author: hofman
Date: 2023-12-11 23:16:23 +0000 (Mon, 11 Dec 2023)
Log Message:
-----------
No need for SKPreferenceController to be a full singleton, it is not
instantiated in the nib, make a cheap one
Modified Paths:
--------------
trunk/SKPreferenceController.m
Modified: trunk/SKPreferenceController.m
===================================================================
--- trunk/SKPreferenceController.m 2023-12-11 23:12:30 UTC (rev 13894)
+++ trunk/SKPreferenceController.m 2023-12-11 23:16:23 UTC (rev 13895)
@@ -71,35 +71,23 @@
@synthesize resetButton, resetAllButton;
-static SKPreferenceController *sharedPrefenceController = nil;
-
+ (SKPreferenceController *)sharedPrefenceController {
+ static SKPreferenceController *sharedPrefenceController = nil;
if (sharedPrefenceController == nil)
- [[[self alloc] init] release];
+ sharedPrefenceController = [[self alloc] init];
return sharedPrefenceController;
}
-+ (instancetype)allocWithZone:(NSZone *)zone {
- return [sharedPrefenceController retain] ?: [super allocWithZone:zone];
-}
-
- (instancetype)init {
- if (sharedPrefenceController == nil) {
- self = [super initWithWindowNibName:@"PreferenceWindow"];
- if (self) {
- preferencePanes = [[NSArray alloc] initWithObjects:
+ self = [super initWithWindowNibName:@"PreferenceWindow"];
+ if (self) {
+ preferencePanes = [[NSArray alloc] initWithObjects:
[[[SKGeneralPreferences alloc] init] autorelease],
[[[SKDisplayPreferences alloc] init] autorelease],
[[[SKNotesPreferences alloc] init] autorelease],
[[[SKSyncPreferences alloc] init] autorelease], nil];
- history = [[NSMutableArray alloc] init];
- historyIndex = 0;
- }
- sharedPrefenceController = [self retain];
- } else if (self != sharedPrefenceController) {
- NSLog(@"Attempt to allocate second instance of %@", [self class]);
- [self release];
- self = [sharedPrefenceController retain];
+ history = [[NSMutableArray alloc] init];
+ historyIndex = 0;
}
return self;
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit