Skip to content

Commit

Permalink
Fix Polygon2D undo on transforming vertices
Browse files Browse the repository at this point in the history
Fix: Action not committed to history when transforming all points in UV editor's Points mode.
  • Loading branch information
aXu-AP committed Oct 20, 2023
1 parent f8818f8 commit 76f81cf
Showing 1 changed file with 17 additions and 8 deletions.
25 changes: 17 additions & 8 deletions editor/plugins/polygon_2d_editor_plugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -759,20 +759,29 @@ void Polygon2DEditor::_uv_input(const Ref<InputEvent> &p_input) {
}
} else {
if (uv_drag && !uv_create) {
if (uv_edit_mode[0]->is_pressed()) { // Edit UV.
if (uv_edit_mode[0]->is_pressed()) {
undo_redo->create_action(TTR("Transform UV Map"));
undo_redo->add_do_method(node, "set_uv", node->get_uv());
undo_redo->add_undo_method(node, "set_uv", points_prev);
undo_redo->add_do_method(uv_edit_draw, "queue_redraw");
undo_redo->add_undo_method(uv_edit_draw, "queue_redraw");
undo_redo->commit_action();
} else if (uv_edit_mode[1]->is_pressed() && uv_move_current == UV_MODE_EDIT_POINT) { // Edit polygon.
undo_redo->create_action(TTR("Transform Polygon"));
undo_redo->add_do_method(node, "set_polygon", node->get_polygon());
undo_redo->add_undo_method(node, "set_polygon", points_prev);
undo_redo->add_do_method(uv_edit_draw, "queue_redraw");
undo_redo->add_undo_method(uv_edit_draw, "queue_redraw");
undo_redo->commit_action();
} else if (uv_edit_mode[1]->is_pressed()) {
switch (uv_move_current) {
case UV_MODE_EDIT_POINT:
case UV_MODE_MOVE:
case UV_MODE_ROTATE:
case UV_MODE_SCALE: {
undo_redo->create_action(TTR("Transform Polygon"));
undo_redo->add_do_method(node, "set_polygon", node->get_polygon());
undo_redo->add_undo_method(node, "set_polygon", points_prev);
undo_redo->add_do_method(uv_edit_draw, "queue_redraw");
undo_redo->add_undo_method(uv_edit_draw, "queue_redraw");
undo_redo->commit_action();
} break;
default: {
} break;
}
}

uv_drag = false;
Expand Down

0 comments on commit 76f81cf

Please sign in to comment.