simplify the way window is allowed to steal focus, no longer relying on project.godot. Closes #9459

This commit is contained in:
Juan Linietsky 2017-08-20 23:42:54 -03:00
parent 0bdbe370bf
commit 533014b88c
3 changed files with 10 additions and 7 deletions

View File

@ -142,8 +142,6 @@ void ScriptDebuggerRemote::debug(ScriptLanguage *p_script, bool p_can_continue)
ERR_FAIL();
}
OS::get_singleton()->enable_for_stealing_focus(ProjectSettings::get_singleton()->get("editor_pid"));
packet_peer_stream->put_var("debug_enter");
packet_peer_stream->put_var(2);
packet_peer_stream->put_var(p_can_continue);

View File

@ -54,8 +54,8 @@ Error EditorRun::run(const String &p_scene, const String p_custom_args, const Li
args.push_back(remote_host + ":" + String::num(remote_port));
}
args.push_back("-epid");
args.push_back(String::num(OS::get_singleton()->get_process_id()));
args.push_back("-allow_focus_steal_pid");
args.push_back(itos(OS::get_singleton()->get_process_id()));
if (debug_collisions) {
args.push_back("-debugcol");

View File

@ -111,6 +111,8 @@ static int init_screen = -1;
static bool use_vsync = true;
static bool editor = false;
static OS::ProcessID allow_focus_steal_pid = 0;
static String unescape_cmdline(const String &p_str) {
return p_str.replace("%20", " ");
@ -547,11 +549,10 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
} else {
goto error;
}
} else if (I->get() == "-epid") {
} else if (I->get() == "-allow_focus_steal_pid") {
if (I->next()) {
int editor_pid = I->next()->get().to_int();
ProjectSettings::get_singleton()->set("editor_pid", editor_pid);
allow_focus_steal_pid = I->next()->get().to_int64();
N = I->next()->next();
} else {
goto error;
@ -1001,6 +1002,10 @@ Error Main::setup2() {
#endif
if (allow_focus_steal_pid) {
OS::get_singleton()->enable_for_stealing_focus(allow_focus_steal_pid);
}
MAIN_PRINT("Main: Load Scripts, Modules, Drivers");
register_module_types();