Browse Source

Merge pull request #77724 from RandomShaper/remove_red_th_cond

Remove redundant check from thread guards
Rémi Verschelde 2 years ago
parent
commit
2e273f0e35
1 changed files with 7 additions and 4 deletions
  1. 7 4
      scene/main/node.h

+ 7 - 4
scene/main/node.h

@@ -541,19 +541,22 @@ public:
 	}
 	}
 	_FORCE_INLINE_ bool is_accessible_from_caller_thread() const {
 	_FORCE_INLINE_ bool is_accessible_from_caller_thread() const {
 		if (current_process_thread_group == nullptr) {
 		if (current_process_thread_group == nullptr) {
-			// Not thread processing. Only accessible if node is outside the scene tree,
-			// if accessing from the main thread or being loaded.
+			// No thread processing.
+			// Only accessible if node is outside the scene tree
+			// or access will happen from a node-safe thread.
 			return !data.inside_tree || is_current_thread_safe_for_nodes();
 			return !data.inside_tree || is_current_thread_safe_for_nodes();
 		} else {
 		} else {
-			// Thread processing
+			// Thread processing.
 			return current_process_thread_group == data.process_thread_group_owner;
 			return current_process_thread_group == data.process_thread_group_owner;
 		}
 		}
 	}
 	}
 
 
 	_FORCE_INLINE_ bool is_readable_from_caller_thread() const {
 	_FORCE_INLINE_ bool is_readable_from_caller_thread() const {
 		if (current_process_thread_group == nullptr) {
 		if (current_process_thread_group == nullptr) {
-			return Thread::is_main_thread() || is_current_thread_safe_for_nodes();
+			// No thread processing.
+			return is_current_thread_safe_for_nodes();
 		} else {
 		} else {
+			// Thread processing.
 			return true;
 			return true;
 		}
 		}
 	}
 	}