Browse Source

Defer call to set_break_language

Chris Cranford 1 year ago
parent
commit
d0fa2c3cfa
2 changed files with 9 additions and 1 deletions
  1. 7 1
      core/object/script_language.cpp
  2. 2 0
      core/object/script_language.h

+ 7 - 1
core/object/script_language.cpp

@@ -51,7 +51,7 @@ void Script::_notification(int p_what) {
 	switch (p_what) {
 		case NOTIFICATION_POSTINITIALIZE: {
 			if (EngineDebugger::is_active()) {
-				EngineDebugger::get_script_debugger()->set_break_language(get_language());
+				callable_mp(this, &Script::_set_debugger_break_language).call_deferred();
 			}
 		} break;
 	}
@@ -103,6 +103,12 @@ Dictionary Script::_get_script_constant_map() {
 	return ret;
 }
 
+void Script::_set_debugger_break_language() {
+	if (EngineDebugger::is_active()) {
+		EngineDebugger::get_script_debugger()->set_break_language(get_language());
+	}
+}
+
 int Script::get_script_method_argument_count(const StringName &p_method, bool *r_is_valid) const {
 	MethodInfo mi = get_method_info(p_method);
 

+ 2 - 0
core/object/script_language.h

@@ -124,6 +124,8 @@ protected:
 	TypedArray<Dictionary> _get_script_signal_list();
 	Dictionary _get_script_constant_map();
 
+	void _set_debugger_break_language();
+
 public:
 	virtual void reload_from_file() override;