summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2013-06-26 04:45:19 +0000
committerSND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2013-06-26 04:45:19 +0000
commite80786f8fa5438eb331c9da542064cf876a956aa (patch)
tree195bf24dd04eb1827c80b51b3bdfa903445ddca2
parentcedd6e77340d6693630ff9d06b0a64d9be675de3 (diff)
downloadpcsxr-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-xmacosx/PcsxrDiscHandler.h3
-rwxr-xr-xmacosx/PcsxrDiscHandler.m28
-rwxr-xr-xmacosx/PcsxrFreezeStateHandler.m8
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];