diff --git a/Cocoa/GBJoyConManager.m b/Cocoa/GBJoyConManager.m index 55ac252..c830cfb 100644 --- a/Cocoa/GBJoyConManager.m +++ b/Cocoa/GBJoyConManager.m @@ -16,7 +16,7 @@ static GBJoyConManager *manager = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ - manager = [[self alloc] _init]; + manager = [[super allocWithZone:nil] _init]; }); return manager; } @@ -32,6 +32,16 @@ return ret; } ++ (instancetype)allocWithZone:(struct _NSZone *)zone +{ + return [self sharedInstance]; +} + ++ (instancetype)alloc +{ + return [self sharedInstance]; +} + - (instancetype)init { return [self.class sharedInstance]; diff --git a/Cocoa/GBPaletteEditorController.m b/Cocoa/GBPaletteEditorController.m index 5e023dd..30c873f 100644 --- a/Cocoa/GBPaletteEditorController.m +++ b/Cocoa/GBPaletteEditorController.m @@ -399,10 +399,16 @@ static double blend(double from, double to, double position) [sender.window.sheetParent endSheet:sender.window]; } -- (instancetype)init ++ (instancetype)alloc { static id singleton = nil; if (singleton) return singleton; - return (singleton = [super init]); + return (singleton = [super allocWithZone:nil]); } + ++ (instancetype)allocWithZone:(struct _NSZone *)zone +{ + return [self alloc]; +} + @end