summaryrefslogtreecommitdiffstats
path: root/scene/2d/node_2d.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-02-29 15:18:52 +0100
committerRémi Verschelde <rverschelde@gmail.com>2024-02-29 15:18:52 +0100
commit5c38a9fe82a309fc6012a25111d3a807b70c65f6 (patch)
tree95659a70e32eee5aaf1f96ae7807e0ffd4abb449 /scene/2d/node_2d.cpp
parentb0c184c9c9e68eff981ee2133d6d46b73ac94f02 (diff)
parent810a0dbff12585cebf37681e5e4007550b259c8c (diff)
downloadredot-engine-5c38a9fe82a309fc6012a25111d3a807b70c65f6.tar.gz
Merge pull request #89003 from akien-mga/node3d-reparent-no-global-transform
Don't access Node3D/Node2D/Control global transform in `reparent` unless needed
Diffstat (limited to 'scene/2d/node_2d.cpp')
-rw-r--r--scene/2d/node_2d.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/scene/2d/node_2d.cpp b/scene/2d/node_2d.cpp
index 0a5f696992..aae7eff7bd 100644
--- a/scene/2d/node_2d.cpp
+++ b/scene/2d/node_2d.cpp
@@ -143,10 +143,12 @@ void Node2D::_update_transform() {
void Node2D::reparent(Node *p_parent, bool p_keep_global_transform) {
ERR_THREAD_GUARD;
- Transform2D temp = get_global_transform();
- Node::reparent(p_parent);
if (p_keep_global_transform) {
+ Transform2D temp = get_global_transform();
+ Node::reparent(p_parent);
set_global_transform(temp);
+ } else {
+ Node::reparent(p_parent);
}
}