Преглед на файлове

Restore signal locking, for some reason missing.

Juan Linietsky преди 5 години
родител
ревизия
22637beb2e
променени са 1 файла, в които са добавени 2 реда и са изтрити 0 реда
  1. 2 0
      core/object.cpp

+ 2 - 0
core/object.cpp

@@ -1215,7 +1215,9 @@ Error Object::emit_signal(const StringName &p_name, const Variant **p_args, int
 			MessageQueue::get_singleton()->push_call(target->get_instance_id(), c.method, args, argc, true);
 			MessageQueue::get_singleton()->push_call(target->get_instance_id(), c.method, args, argc, true);
 		} else {
 		} else {
 			Variant::CallError ce;
 			Variant::CallError ce;
+			s->lock++;
 			target->call(c.method, args, argc, ce);
 			target->call(c.method, args, argc, ce);
+			s->lock--;
 
 
 			if (ce.error != Variant::CallError::CALL_OK) {
 			if (ce.error != Variant::CallError::CALL_OK) {
 #ifdef DEBUG_ENABLED
 #ifdef DEBUG_ENABLED