Skip to content

Commit

Permalink
Ensure MainLoop and its custom script is set right after it's resolved
Browse files Browse the repository at this point in the history
  • Loading branch information
kleonc committed Dec 31, 2022
1 parent 8a98110 commit db48df3
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 16 deletions.
8 changes: 0 additions & 8 deletions core/os/main_loop.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,15 +52,7 @@ void MainLoop::_bind_methods() {
GDVIRTUAL_BIND(_finalize);
}

void MainLoop::set_initialize_script(const Ref<Script> &p_initialize_script) {
initialize_script = p_initialize_script;
}

void MainLoop::initialize() {
if (initialize_script.is_valid()) {
set_script(initialize_script);
}

GDVIRTUAL_CALL(_initialize);
}

Expand Down
4 changes: 0 additions & 4 deletions core/os/main_loop.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,6 @@
class MainLoop : public Object {
GDCLASS(MainLoop, Object);

Ref<Script> initialize_script;

protected:
static void _bind_methods();

Expand Down Expand Up @@ -69,8 +67,6 @@ class MainLoop : public Object {
virtual bool process(double p_time);
virtual void finalize();

void set_initialize_script(const Ref<Script> &p_initialize_script);

MainLoop() {}
virtual ~MainLoop() {}
};
Expand Down
8 changes: 4 additions & 4 deletions main/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2657,7 +2657,7 @@ bool Main::start() {
ERR_FAIL_V_MSG(false, vformat("Can't load the script \"%s\" as it doesn't inherit from SceneTree or MainLoop.", script));
}

script_loop->set_initialize_script(script_res);
script_loop->set_script(script_res);
main_loop = script_loop;
} else {
return false;
Expand All @@ -2680,7 +2680,7 @@ bool Main::start() {
OS::get_singleton()->alert("Error: Invalid MainLoop script base type: " + script_base);
ERR_FAIL_V_MSG(false, vformat("The global class %s does not inherit from SceneTree or MainLoop.", main_loop_type));
}
script_loop->set_initialize_script(script_res);
script_loop->set_script(script_res);
main_loop = script_loop;
}
}
Expand All @@ -2705,6 +2705,8 @@ bool Main::start() {
}
}

OS::get_singleton()->set_main_loop(main_loop);

SceneTree *sml = Object::cast_to<SceneTree>(main_loop);
if (sml) {
#ifdef DEBUG_ENABLED
Expand Down Expand Up @@ -3054,8 +3056,6 @@ bool Main::start() {
DisplayServer::get_singleton()->set_icon(icon);
}

OS::get_singleton()->set_main_loop(main_loop);

if (movie_writer) {
movie_writer->begin(DisplayServer::get_singleton()->window_get_size(), fixed_fps, Engine::get_singleton()->get_write_movie_path());
}
Expand Down

0 comments on commit db48df3

Please sign in to comment.