Browse Source

Merge pull request #84914 from mihe/revert-84856

Revert "Fix transform notification not getting sent out for RigidBody2D"
Rémi Verschelde 1 year ago
parent
commit
d5217b68db
1 changed files with 11 additions and 7 deletions
  1. 11 7
      scene/main/canvas_item.cpp

+ 11 - 7
scene/main/canvas_item.cpp

@@ -891,18 +891,22 @@ void CanvasItem::_notify_transform(CanvasItem *p_node) {
 	 * notification anyway).
 	 */
 
-	if (p_node->block_transform_notify || p_node->_is_global_invalid()) {
+	if (/*p_node->xform_change.in_list() &&*/ p_node->_is_global_invalid()) {
 		return; //nothing to do
 	}
 
 	p_node->_set_global_invalid(true);
 
-	if (p_node->notify_transform && !p_node->xform_change.in_list() && p_node->is_inside_tree()) {
-		if (is_accessible_from_caller_thread()) {
-			get_tree()->xform_change_list.add(&p_node->xform_change);
-		} else {
-			// Should be rare, but still needs to be handled.
-			MessageQueue::get_singleton()->push_callable(callable_mp(p_node, &CanvasItem::_notify_transform_deferred));
+	if (p_node->notify_transform && !p_node->xform_change.in_list()) {
+		if (!p_node->block_transform_notify) {
+			if (p_node->is_inside_tree()) {
+				if (is_accessible_from_caller_thread()) {
+					get_tree()->xform_change_list.add(&p_node->xform_change);
+				} else {
+					// Should be rare, but still needs to be handled.
+					MessageQueue::get_singleton()->push_callable(callable_mp(p_node, &CanvasItem::_notify_transform_deferred));
+				}
+			}
 		}
 	}