diff options
-rw-r--r-- | drivers/unix/os_unix.cpp | 22 | ||||
-rw-r--r-- | modules/mono/editor/GodotTools/GodotTools/Build/MsBuildFinder.cs | 2 | ||||
-rwxr-xr-x | modules/mono/editor/GodotTools/GodotTools/Export/XcodeHelper.cs | 2 | ||||
-rw-r--r-- | modules/mono/utils/mono_reg_utils.cpp | 2 |
4 files changed, 19 insertions, 9 deletions
diff --git a/drivers/unix/os_unix.cpp b/drivers/unix/os_unix.cpp index 012acb0632..d94c2126ef 100644 --- a/drivers/unix/os_unix.cpp +++ b/drivers/unix/os_unix.cpp @@ -299,10 +299,15 @@ Error OS_Unix::execute(const String &p_path, const List<String> &p_arguments, St if (pid == 0) { // The child process - Vector<char *> args; - args.push_back((char *)p_path.utf8().get_data()); + Vector<CharString> cs; + cs.push_back(p_path.utf8()); for (int i = 0; i < p_arguments.size(); i++) { - args.push_back((char *)p_arguments[i].utf8().get_data()); + cs.push_back(p_arguments[i].utf8()); + } + + Vector<char *> args; + for (int i = 0; i < cs.size(); i++) { + args.push_back((char *)cs[i].get_data()); } args.push_back(0); @@ -336,10 +341,15 @@ Error OS_Unix::create_process(const String &p_path, const List<String> &p_argume // This ensures the process won't go zombie at the end. setsid(); - Vector<char *> args; - args.push_back((char *)p_path.utf8().get_data()); + Vector<CharString> cs; + cs.push_back(p_path.utf8()); for (int i = 0; i < p_arguments.size(); i++) { - args.push_back((char *)p_arguments[i].utf8().get_data()); + cs.push_back(p_arguments[i].utf8()); + } + + Vector<char *> args; + for (int i = 0; i < cs.size(); i++) { + args.push_back((char *)cs[i].get_data()); } args.push_back(0); diff --git a/modules/mono/editor/GodotTools/GodotTools/Build/MsBuildFinder.cs b/modules/mono/editor/GodotTools/GodotTools/Build/MsBuildFinder.cs index e2feb66e35..5ef55fea49 100644 --- a/modules/mono/editor/GodotTools/GodotTools/Build/MsBuildFinder.cs +++ b/modules/mono/editor/GodotTools/GodotTools/Build/MsBuildFinder.cs @@ -181,7 +181,7 @@ namespace GodotTools.Build var outputArray = new Godot.Collections.Array<string>(); int exitCode = Godot.OS.Execute(vsWherePath, vsWhereArgs, - blocking: true, output: (Godot.Collections.Array)outputArray); + output: (Godot.Collections.Array)outputArray); if (exitCode != 0) return string.Empty; diff --git a/modules/mono/editor/GodotTools/GodotTools/Export/XcodeHelper.cs b/modules/mono/editor/GodotTools/GodotTools/Export/XcodeHelper.cs index 219b7a698a..93ef837a83 100755 --- a/modules/mono/editor/GodotTools/GodotTools/Export/XcodeHelper.cs +++ b/modules/mono/editor/GodotTools/GodotTools/Export/XcodeHelper.cs @@ -27,7 +27,7 @@ namespace GodotTools.Export { var outputWrapper = new Godot.Collections.Array(); - int exitCode = Godot.OS.Execute("xcode-select", new string[] { "--print-path" }, blocking: true, output: outputWrapper); + int exitCode = Godot.OS.Execute("xcode-select", new string[] { "--print-path" }, output: outputWrapper); if (exitCode == 0) { diff --git a/modules/mono/utils/mono_reg_utils.cpp b/modules/mono/utils/mono_reg_utils.cpp index 27c2b2c5c1..bb1265e959 100644 --- a/modules/mono/utils/mono_reg_utils.cpp +++ b/modules/mono/utils/mono_reg_utils.cpp @@ -173,7 +173,7 @@ String find_msbuild_tools_path() { String output; int exit_code; - OS::get_singleton()->execute(vswhere_path, vswhere_args, true, nullptr, &output, &exit_code); + OS::get_singleton()->execute(vswhere_path, vswhere_args, &output, &exit_code); if (exit_code == 0) { Vector<String> lines = output.split("\n"); |