Skip to content
Permalink
Browse files
Fixed bug 5073 - SDL does not handle URL Schemes in MacOS
Jason

In iOS, URL Events trigger the DropFile event. I would also expect the same event to be fired on the macOS platform but this is not implemented at all in the AppDelegate.
  • Loading branch information
slouken committed Apr 5, 2020
1 parent 9525f97 commit dad73b1f0cfa9eac6703a98d055f6b999f4afaa2
Showing with 14 additions and 0 deletions.
  1. +14 −0 src/video/cocoa/SDL_cocoaevents.m
@@ -248,10 +248,24 @@ - (void)applicationDidFinishLaunching:(NSNotification *)notification
[NSApp activateIgnoringOtherApps:YES];
}

[[NSAppleEventManager sharedAppleEventManager]
setEventHandler:self
andSelector:@selector(handleURLEvent:withReplyEvent:)
forEventClass:kInternetEventClass
andEventID:kAEGetURL];

/* If we call this before NSApp activation, macOS might print a complaint
* about ApplePersistenceIgnoreState. */
[SDLApplication registerUserDefaults];
}

- (void)handleURLEvent:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent
{
NSString* path = [[event paramDescriptorForKeyword:keyDirectObject] stringValue];
SDL_SendDropFile(NULL, [path UTF8String]);
SDL_SendDropComplete(NULL);
}

@end

static SDLAppDelegate *appDelegate = nil;

0 comments on commit dad73b1

Please sign in to comment.