summaryrefslogtreecommitdiff
path: root/editor
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <remi@verschelde.fr>2022-02-10 16:53:01 +0100
committerGitHub <noreply@github.com>2022-02-10 16:53:01 +0100
commit519075cf418b67249a7a810451c0608e50be4454 (patch)
treeb752995a4125ca84acbc9b0199170d73f375e509 /editor
parent52a7ecf82126bab80116da203446ce2e1911284b (diff)
parent628219c922864742349efd93dabaa6956ca63f95 (diff)
Merge pull request #57912 from rcorre/fix-blender
Diffstat (limited to 'editor')
-rw-r--r--editor/plugins/node_3d_editor_plugin.cpp20
-rw-r--r--editor/plugins/node_3d_editor_plugin.h1
2 files changed, 13 insertions, 8 deletions
diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp
index 959c76e22a..9884c45916 100644
--- a/editor/plugins/node_3d_editor_plugin.cpp
+++ b/editor/plugins/node_3d_editor_plugin.cpp
@@ -385,8 +385,6 @@ int Node3DEditorViewport::get_selected_count() const {
}
void Node3DEditorViewport::cancel_transform() {
- _edit.mode = TRANSFORM_NONE;
-
List<Node *> &selection = editor_selection->get_selected_node_list();
for (List<Node *>::Element *E = selection.front(); E; E = E->next()) {
@@ -402,7 +400,8 @@ void Node3DEditorViewport::cancel_transform() {
sp->set_global_transform(se->original);
}
- surface->update();
+
+ finish_transform();
set_message(TTR("Transform Aborted."), 3);
}
@@ -4061,12 +4060,9 @@ void Node3DEditorViewport::commit_transform() {
undo_redo->add_undo_method(sp, "set_global_transform", se->original);
}
undo_redo->commit_action();
- _edit.mode = TRANSFORM_NONE;
- _edit.instant = false;
- spatial_editor->set_local_coords_enabled(_edit.original_local);
+
+ finish_transform();
set_message("");
- spatial_editor->update_transform_gizmo();
- surface->update();
}
void Node3DEditorViewport::update_transform(Point2 p_mousepos, bool p_shift) {
@@ -4405,6 +4401,14 @@ void Node3DEditorViewport::update_transform(Point2 p_mousepos, bool p_shift) {
}
}
+void Node3DEditorViewport::finish_transform() {
+ spatial_editor->set_local_coords_enabled(_edit.original_local);
+ spatial_editor->update_transform_gizmo();
+ _edit.mode = TRANSFORM_NONE;
+ _edit.instant = false;
+ surface->update();
+}
+
Node3DEditorViewport::Node3DEditorViewport(Node3DEditor *p_spatial_editor, EditorNode *p_editor, int p_index) {
cpu_time_history_index = 0;
gpu_time_history_index = 0;
diff --git a/editor/plugins/node_3d_editor_plugin.h b/editor/plugins/node_3d_editor_plugin.h
index bbe5615570..cb7c5a714b 100644
--- a/editor/plugins/node_3d_editor_plugin.h
+++ b/editor/plugins/node_3d_editor_plugin.h
@@ -409,6 +409,7 @@ private:
void begin_transform(TransformMode p_mode, bool instant);
void commit_transform();
void update_transform(Point2 p_mousepos, bool p_shift);
+ void finish_transform();
protected:
void _notification(int p_what);