summaryrefslogtreecommitdiff
path: root/macosx/PcsxrDiscHandler.m
diff options
context:
space:
mode:
Diffstat (limited to 'macosx/PcsxrDiscHandler.m')
-rwxr-xr-xmacosx/PcsxrDiscHandler.m28
1 files changed, 25 insertions, 3 deletions
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