diff options
| author | SND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-06-26 04:45:19 +0000 |
|---|---|---|
| committer | SND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-06-26 04:45:19 +0000 |
| commit | e80786f8fa5438eb331c9da542064cf876a956aa (patch) | |
| tree | 195bf24dd04eb1827c80b51b3bdfa903445ddca2 | |
| parent | cedd6e77340d6693630ff9d06b0a64d9be675de3 (diff) | |
| download | pcsxr-e80786f8fa5438eb331c9da542064cf876a956aa.tar.gz | |
Disable the net plug-in in the freeze state handler on demand.
Run the disc image from the handler through PcsxrController so that it can disable the net plug-in as needed.
Cache the NSURL value in the Disc handler.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@85563 e17a0e51-4ae3-4d35-97c3-1a29b211df97
| -rwxr-xr-x | macosx/PcsxrDiscHandler.h | 3 | ||||
| -rwxr-xr-x | macosx/PcsxrDiscHandler.m | 28 | ||||
| -rwxr-xr-x | macosx/PcsxrFreezeStateHandler.m | 8 |
3 files changed, 36 insertions, 3 deletions
diff --git a/macosx/PcsxrDiscHandler.h b/macosx/PcsxrDiscHandler.h index 933d7799..150a580c 100755 --- a/macosx/PcsxrDiscHandler.h +++ b/macosx/PcsxrDiscHandler.h @@ -10,5 +10,8 @@ #import "PcsxrFileHandle.h" @interface PcsxrDiscHandler : NSObject <PcsxrFileHandle> +{ + NSURL *discURL; +} @end diff --git a/macosx/PcsxrDiscHandler.m b/macosx/PcsxrDiscHandler.m index 1aea4e3e..1bf2bfe5 100755 --- a/macosx/PcsxrDiscHandler.m +++ b/macosx/PcsxrDiscHandler.m @@ -14,8 +14,22 @@ #import "RecentItemsMenu.h" #import "PcsxrController.h" +@interface PcsxrDiscHandler () +@property (retain) NSURL *discURL; +@end + @implementation PcsxrDiscHandler +@synthesize discURL; + +- (NSURL*)discURLFromFilePath:(NSString *)filePath +{ + if (!discURL) { + self.discURL = [NSURL fileURLWithPath:filePath isDirectory:NO]; + } + return self.discURL; +} + + (NSArray *)supportedUTIs { static NSArray *utisupport = nil; @@ -38,11 +52,19 @@ return NO; } } else { - SetIsoFile([theFile fileSystemRepresentation]); - [EmuThread run]; + [appDelegate runURL:[self discURLFromFilePath:theFile]]; } - [[appDelegate recentItems] addRecentItem:[NSURL fileURLWithPath:theFile]]; + [[appDelegate recentItems] addRecentItem:[self discURLFromFilePath:theFile]]; return YES; } +#if !__has_feature(objc_arc) +- (void)dealloc +{ + self.discURL = nil; + + [super dealloc]; +} +#endif + @end diff --git a/macosx/PcsxrFreezeStateHandler.m b/macosx/PcsxrFreezeStateHandler.m index 4fbb49f0..f4711d1f 100755 --- a/macosx/PcsxrFreezeStateHandler.m +++ b/macosx/PcsxrFreezeStateHandler.m @@ -9,6 +9,7 @@ #import "PcsxrFreezeStateHandler.h" #import "EmuThread.h" #import "ARCBridge.h" +#import "PluginList.h" #include "misc.h" @implementation PcsxrFreezeStateHandler @@ -28,6 +29,13 @@ return NO; } if (![EmuThread active]) { + PluginList *pluginList = [PluginList list]; + if ([[NSUserDefaults standardUserDefaults] boolForKey:@"NetPlay"]) { + [pluginList enableNetPlug]; + } else { + [pluginList disableNetPlug]; + } + [EmuThread run]; } return [EmuThread defrostAt:theFile]; |
