summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPieter-Jan Briers <pieterjan.briers@gmail.com>2018-02-16 16:00:54 +0100
committerPieter-Jan Briers <pieterjan.briers@gmail.com>2018-02-16 16:15:35 +0100
commit10998380799f25cb3198c62f29e30e743c6013ac (patch)
tree6dca6abcc41b2eacaf2ae447093e9f4bacc0f985
parent49dc473ff184683485c0e69f4f1d49c63f6be6a7 (diff)
Makes project manager never initialize mono debug.
The heuristic whether we're in the project manager inside GDMono didn't work if the project manager was launched by not having any path to run. This is fixed now by making a Main::is_project_manager().
-rw-r--r--main/main.cpp7
-rw-r--r--main/main.h1
-rw-r--r--modules/mono/mono_gd/gd_mono.cpp18
3 files changed, 9 insertions, 17 deletions
diff --git a/main/main.cpp b/main/main.cpp
index e9eca4af39..d11c3cbe86 100644
--- a/main/main.cpp
+++ b/main/main.cpp
@@ -122,13 +122,18 @@ static bool force_lowdpi = false;
static int init_screen = -1;
static bool use_vsync = true;
static bool editor = false;
-static bool project_manager = false;
static bool show_help = false;
static bool disable_render_loop = false;
static int fixed_fps = -1;
static OS::ProcessID allow_focus_steal_pid = 0;
+static bool project_manager = false;
+
+bool Main::is_project_manager() {
+ return project_manager;
+}
+
void initialize_physics() {
/// 3D Physics Server
diff --git a/main/main.h b/main/main.h
index 1165c79494..8b805fa1d0 100644
--- a/main/main.h
+++ b/main/main.h
@@ -56,6 +56,7 @@ public:
static bool iteration();
static void cleanup();
static void force_redraw();
+ static bool is_project_manager();
};
#endif
diff --git a/modules/mono/mono_gd/gd_mono.cpp b/modules/mono/mono_gd/gd_mono.cpp
index f5febd415b..39474f8cbc 100644
--- a/modules/mono/mono_gd/gd_mono.cpp
+++ b/modules/mono/mono_gd/gd_mono.cpp
@@ -47,6 +47,7 @@
#ifdef TOOLS_ENABLED
#include "../editor/godotsharp_editor.h"
+#include "main/main.h"
#endif
void gdmono_unhandled_exception_hook(MonoObject *exc, void *user_data) {
@@ -94,21 +95,6 @@ static bool _wait_for_debugger_msecs(uint32_t p_msecs) {
}
#endif
-#ifdef TOOLS_ENABLED
-// temporary workaround. should be provided from Main::setup/setup2 instead
-bool _is_project_manager_requested() {
-
- List<String> cmdline_args = OS::get_singleton()->get_cmdline_args();
- for (List<String>::Element *E = cmdline_args.front(); E; E = E->next()) {
- const String &arg = E->get();
- if (arg == "-p" || arg == "--project-manager")
- return true;
- }
-
- return false;
-}
-#endif
-
#ifdef DEBUG_ENABLED
void gdmono_debug_init() {
@@ -121,7 +107,7 @@ void gdmono_debug_init() {
#ifdef TOOLS_ENABLED
if (Engine::get_singleton()->is_editor_hint() ||
ProjectSettings::get_singleton()->get_resource_path().empty() ||
- _is_project_manager_requested()) {
+ Main::is_project_manager()) {
return;
}
#endif