From 9af085242bda9ad4da78ef23e9d4ed180aa2c629 Mon Sep 17 00:00:00 2001 From: "SND\\MaddTheSane_cp" Date: Wed, 9 Jan 2013 01:50:38 +0000 Subject: Use ARC in 64-bit mode on the Mac. Register when we drag a disc image (or double click) to Pcsxr in the recent menu. Comment out ReleasePlugins() in SysClose: it was causing a pointer to be released twice when you changed a plug-in (specifically, the GPU). Cleaning up the Recent items code. One notable case is only releasing objects we have ownership of (this is pointless in ARC, but necessary in 32-bit code). Had to rewrite -[PluginList setActivePlugin:forType:] because the previous version wasn't ARC-friendly. If we select a disc while the emulator is running, load the disc into the current session. git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@82136 e17a0e51-4ae3-4d35-97c3-1a29b211df97 --- macosx/PluginController.m | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'macosx/PluginController.m') diff --git a/macosx/PluginController.m b/macosx/PluginController.m index d89b38fc..24d0da57 100755 --- a/macosx/PluginController.m +++ b/macosx/PluginController.m @@ -1,6 +1,7 @@ #import "PluginController.h" #import "PcsxrPlugin.h" #import "PcsxrController.h" +#import "ARCBridge.h" @implementation PluginController @@ -50,8 +51,8 @@ // remember the list pluginType = type; - plugins = [list retain]; - defaultKey = [[PcsxrPlugin defaultKeyForType:pluginType] retain]; + plugins = RETAINOBJ(list); + defaultKey = RETAINOBJ([PcsxrPlugin defaultKeyForType:pluginType]); // clear the previous menu items [pluginMenu removeAllItems]; @@ -72,11 +73,13 @@ [self selectPlugin:pluginMenu]; } +#if !__has_feature(objc_arc) - (void)dealloc { if (plugins) [plugins release]; if (defaultKey) [defaultKey release]; [super dealloc]; } +#endif @end -- cgit v1.2.3