Merge pull request #94452 from jamie-pate/fix_73374

Fix game window stops responding when debugger pauses
This commit is contained in:
Rémi Verschelde 2024-07-17 15:45:14 +02:00
commit 0918fd2a21
No known key found for this signature in database
GPG Key ID: C3336907360768E1
2 changed files with 2 additions and 3 deletions

View File

@ -39,6 +39,7 @@
#include "core/io/resource_loader.h" #include "core/io/resource_loader.h"
#include "core/object/script_language.h" #include "core/object/script_language.h"
#include "core/os/os.h" #include "core/os/os.h"
#include "servers/display_server.h"
class RemoteDebugger::PerformanceProfiler : public EngineProfiler { class RemoteDebugger::PerformanceProfiler : public EngineProfiler {
Object *performance = nullptr; Object *performance = nullptr;
@ -539,7 +540,7 @@ void RemoteDebugger::debug(bool p_can_continue, bool p_is_error_breakpoint) {
OS::get_singleton()->delay_usec(10000); OS::get_singleton()->delay_usec(10000);
if (Thread::get_caller_id() == Thread::get_main_id()) { if (Thread::get_caller_id() == Thread::get_main_id()) {
// If this is a busy loop on the main thread, events still need to be processed. // If this is a busy loop on the main thread, events still need to be processed.
OS::get_singleton()->process_and_drop_events(); DisplayServer::get_singleton()->force_process_and_drop_events();
} }
} }
} }

View File

@ -328,8 +328,6 @@ public:
virtual void benchmark_end_measure(const String &p_context, const String &p_what); virtual void benchmark_end_measure(const String &p_context, const String &p_what);
virtual void benchmark_dump(); virtual void benchmark_dump();
virtual void process_and_drop_events() {}
virtual Error setup_remote_filesystem(const String &p_server_host, int p_port, const String &p_password, String &r_project_path); virtual Error setup_remote_filesystem(const String &p_server_host, int p_port, const String &p_password, String &r_project_path);
enum PreferredTextureFormat { enum PreferredTextureFormat {