summaryrefslogtreecommitdiffstats
path: root/core/object/object.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-05-10 12:46:44 +0200
committerRémi Verschelde <rverschelde@gmail.com>2023-05-10 12:46:44 +0200
commit5271186f2f826cc6667766d9db32c1ca8b0743ec (patch)
tree424ce1adfe4f423621d1b1b95a2823271f10329c /core/object/object.cpp
parent31fc7a8525603e0e0b35438de4f66c73378915cc (diff)
parent98c655ec8db17e50afa58284b1dcad754034db4b (diff)
downloadredot-engine-5271186f2f826cc6667766d9db32c1ca8b0743ec.tar.gz
Merge pull request #75901 from reduz/refactor-node-processing
Refactor Node Processing to allow Scene Multithreading
Diffstat (limited to 'core/object/object.cpp')
-rw-r--r--core/object/object.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/core/object/object.cpp b/core/object/object.cpp
index e0b1a5cf9c..5a34328ec4 100644
--- a/core/object/object.cpp
+++ b/core/object/object.cpp
@@ -201,6 +201,10 @@ bool Object::_predelete() {
return _predelete_ok;
}
+void Object::cancel_free() {
+ _predelete_ok = false;
+}
+
void Object::_postinitialize() {
_class_name_ptr = _get_class_namev(); // Set the direct pointer, which is much faster to obtain, but can only happen after postinitialize.
_initialize_classv();
@@ -1570,6 +1574,7 @@ void Object::_bind_methods() {
ClassDB::bind_method(D_METHOD("tr_n", "message", "plural_message", "n", "context"), &Object::tr_n, DEFVAL(""));
ClassDB::bind_method(D_METHOD("is_queued_for_deletion"), &Object::is_queued_for_deletion);
+ ClassDB::bind_method(D_METHOD("cancel_free"), &Object::cancel_free);
ClassDB::add_virtual_method("Object", MethodInfo("free"), false);