From 36b5e14b3106294d4150ff6a9b39fefb0d299983 Mon Sep 17 00:00:00 2001 From: James Tomson Date: Thu, 30 May 2013 18:10:26 +0400 Subject: [PATCH] 8015303: [macosx] Application launched via custom URL Scheme does not receive URL Make copies of event parameters Reviewed-by: anthony, swingler, serb --- .../macosx/native/sun/osxapp/QueuingApplicationDelegate.m | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/jdk/src/macosx/native/sun/osxapp/QueuingApplicationDelegate.m b/jdk/src/macosx/native/sun/osxapp/QueuingApplicationDelegate.m index 5b71d8ab96c..736155fdc01 100644 --- a/jdk/src/macosx/native/sun/osxapp/QueuingApplicationDelegate.m +++ b/jdk/src/macosx/native/sun/osxapp/QueuingApplicationDelegate.m @@ -110,8 +110,14 @@ - (void)_handleOpenURLEvent:(NSAppleEventDescriptor *)openURLEvent withReplyEvent:(NSAppleEventDescriptor *)replyEvent { + // Make an explicit copy of the passed events as they may be invalidated by the time they're processed + NSAppleEventDescriptor *openURLEventCopy = [openURLEvent copy]; + NSAppleEventDescriptor *replyEventCopy = [replyEvent copy]; + [self.queue addObject:[^(){ - [self.realDelegate _handleOpenURLEvent:openURLEvent withReplyEvent:replyEvent]; + [self.realDelegate _handleOpenURLEvent:openURLEventCopy withReplyEvent:replyEventCopy]; + [openURLEventCopy release]; + [replyEventCopy release]; } copy]]; }