Browse Source

Merge pull request #80081 from clayjohn/revert-dead-error

Revert "Let user know about dead instances in deferred calls"
Yuri Sizov 2 năm trước cách đây
mục cha
commit
3fa8fad26b
1 tập tin đã thay đổi với 19 bổ sung32 xóa
  1. 19 32
      core/object/message_queue.cpp

+ 19 - 32
core/object/message_queue.cpp

@@ -35,10 +35,6 @@
 #include "core/object/class_db.h"
 #include "core/object/script_language.h"
 
-#ifdef DEBUG_ENABLED
-#include "core/config/engine.h"
-#endif
-
 #ifdef DEV_ENABLED
 // Includes sanity checks to ensure that a queue set as a thread singleton override
 // is only ever called from the thread it was set for.
@@ -320,34 +316,25 @@ Error CallQueue::flush() {
 		Object *target = message->callable.get_object();
 
 		UNLOCK_MUTEX;
-#ifdef DEBUG_ENABLED
-		if (!message->callable.is_valid()) {
-			// The editor would cause many of these.
-			if (!Engine::get_singleton()->is_editor_hint()) {
-				ERR_PRINT("Trying to execute a deferred call/notification/set on a previously freed instance. Consider using queue_free() instead of free().");
-			}
-		} else
-#endif
-		{
-			switch (message->type & FLAG_MASK) {
-				case TYPE_CALL: {
-					if (target || (message->type & FLAG_NULL_IS_OK)) {
-						Variant *args = (Variant *)(message + 1);
-						_call_function(message->callable, args, message->args, message->type & FLAG_SHOW_ERROR);
-					}
-				} break;
-				case TYPE_NOTIFICATION: {
-					if (target) {
-						target->notification(message->notification);
-					}
-				} break;
-				case TYPE_SET: {
-					if (target) {
-						Variant *arg = (Variant *)(message + 1);
-						target->set(message->callable.get_method(), *arg);
-					}
-				} break;
-			}
+
+		switch (message->type & FLAG_MASK) {
+			case TYPE_CALL: {
+				if (target || (message->type & FLAG_NULL_IS_OK)) {
+					Variant *args = (Variant *)(message + 1);
+					_call_function(message->callable, args, message->args, message->type & FLAG_SHOW_ERROR);
+				}
+			} break;
+			case TYPE_NOTIFICATION: {
+				if (target) {
+					target->notification(message->notification);
+				}
+			} break;
+			case TYPE_SET: {
+				if (target) {
+					Variant *arg = (Variant *)(message + 1);
+					target->set(message->callable.get_method(), *arg);
+				}
+			} break;
 		}
 
 		if ((message->type & FLAG_MASK) != TYPE_NOTIFICATION) {