From 6317669f519c8f60d41aa88a3fbe2b12cbca5359 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 5 Aug 2020 18:01:21 -0600 Subject: [PATCH] cs gracket: fix handling of X11 flags and -singleInstance X11 flags and -singlreInstance were being filtered from the command line but not propagated to the `racket/gui`. --- racket/src/cs/c/grmain.c | 2 +- racket/src/cs/c/main.c | 3 +-- racket/src/cs/main.sps | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/racket/src/cs/c/grmain.c b/racket/src/cs/c/grmain.c index 6f05757ce1..d56ca3fa92 100644 --- a/racket/src/cs/c/grmain.c +++ b/racket/src/cs/c/grmain.c @@ -26,7 +26,7 @@ char *check_for_another = "yes, please check for another"; #if defined(WIN32) static void pre_filter_cmdline_arguments(int *argc, char ***argv) { } -#elif defined(OS_X) +#elif defined(OS_X) && !defined(RACKET_XONX) # define wx_mac #else # define wx_xt diff --git a/racket/src/cs/c/main.c b/racket/src/cs/c/main.c index a05286444f..96b0acf81f 100644 --- a/racket/src/cs/c/main.c +++ b/racket/src/cs/c/main.c @@ -443,8 +443,6 @@ static int bytes_main(int argc, char **argv, racket_boot_t racket_boot_p; long boot_rsrc_offset = 0; #endif - - do_pre_filter_cmdline_arguments(&argc, &argv); if (argc) { argc--; @@ -600,6 +598,7 @@ static int x11_arg_count = 0; static char *x11_args = "0"; int main(int argc, char **argv) { + do_pre_filter_cmdline_arguments(&argc, &argv); return bytes_main(argc, argv, x11_arg_count, x11_args); } #endif diff --git a/racket/src/cs/main.sps b/racket/src/cs/main.sps index 2c52e021af..5591e0a3d8 100644 --- a/racket/src/cs/main.sps +++ b/racket/src/cs/main.sps @@ -127,7 +127,7 @@ (unsafe-register-process-global (string->bytes/utf-8 "PLT_X11_ARGUMENT_COUNT") (ptr-add #f wm-is-gracket-or-x11-arg-count)) (unsafe-register-process-global (string->bytes/utf-8 "PLT_X11_ARGUMENTS") - (ptr-add #f (#%string->number gracket-guid-or-x11-args 16)))))) + (ptr-add #f (#%string->number (substring gracket-guid-or-x11-args 2) 16)))))) (define compiled-file-paths (list (cond