diff --git a/main/main.cpp b/main/main.cpp index 211c3b69daa..f9044b61cd6 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -1789,9 +1789,9 @@ uint64_t Main::target_ticks = 0; uint32_t Main::frames = 0; uint32_t Main::frame = 0; bool Main::force_redraw_requested = false; -bool Main::iterating = false; +int Main::iterating = 0; bool Main::is_iterating() { - return iterating; + return iterating > 0; } // For performance metrics @@ -1803,7 +1803,7 @@ bool Main::iteration() { //for now do not error on this //ERR_FAIL_COND_V(iterating, false); - iterating = true; + iterating++; uint64_t ticks = OS::get_singleton()->get_ticks_usec(); Engine::get_singleton()->_frame_ticks = ticks; @@ -1932,7 +1932,7 @@ bool Main::iteration() { frames = 0; } - iterating = false; + iterating--; if (fixed_fps != -1) return exit; diff --git a/main/main.h b/main/main.h index 1bdce7d17f7..694305526a3 100644 --- a/main/main.h +++ b/main/main.h @@ -47,7 +47,7 @@ class Main { static uint32_t frames; static uint32_t frame; static bool force_redraw_requested; - static bool iterating; + static int iterating; public: static bool is_project_manager();