From 86c05655d43083cea79a84764a3c5c114bac4eaa Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Thu, 12 Sep 2013 08:26:47 +0200 Subject: macosx_application: fix file opening on OS X 10.9 (hopefully) File opening through Finder, apparently drops `--psn` arguments on Mavericks and just uses no args. Modify the code to account for that case. This wasn't tested on 10.9 itself (I don't have a paid dev account), but it *should* work if I understood the problem correctly. --- osdep/macosx_application.m | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'osdep/macosx_application.m') diff --git a/osdep/macosx_application.m b/osdep/macosx_application.m index a522ad77fa..c292c1fd53 100644 --- a/osdep/macosx_application.m +++ b/osdep/macosx_application.m @@ -425,11 +425,20 @@ static bool psn_matches_current_process(char *psn_arg_to_check) return [real_psn isEqualToString:in_psn]; } +static bool bundle_started_from_finder(int argc, char **argv) +{ + bool bundle_detected = [[NSBundle mainBundle] bundleIdentifier]; + bool pre_mavericks_args = argc==2 && psn_matches_current_process(argv[1]); + bool post_mavericks_args = argc==0; + + return bundle_detected && (pre_mavericks_args || post_mavericks_args); +} + void macosx_finder_args_preinit(int *argc, char ***argv) { Application *app = mpv_shared_app(); - if (*argc==2 && psn_matches_current_process((*argv)[1])) { + if (bundle_started_from_finder(*argc, *argv)) { macosx_redirect_output_to_logfile("mpv"); macosx_wait_fileopen_events(); -- cgit v1.2.3