From 30a36f0d20a5d989c9388542107209840c65dfc4 Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Thu, 17 Feb 2022 20:05:31 +0100 Subject: [PATCH] Only store `_edit_use_anchors_` metadata if value is not the default The default value is assumed to be `false`, so this metadata only needs to be stored if the value is `true`. (cherry picked from commit 3b251904948cbda718ec70991e2435b3b0f66617) --- editor/plugins/canvas_item_editor_plugin.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/editor/plugins/canvas_item_editor_plugin.cpp b/editor/plugins/canvas_item_editor_plugin.cpp index 97d7d587426..abd30fa39ee 100644 --- a/editor/plugins/canvas_item_editor_plugin.cpp +++ b/editor/plugins/canvas_item_editor_plugin.cpp @@ -4513,9 +4513,13 @@ void CanvasItemEditor::_set_anchors_and_margins_to_keep_ratio() { undo_redo->add_do_method(control, "set_anchor", MARGIN_BOTTOM, bottom_right_anchor.y, false, true); undo_redo->add_do_method(control, "set_meta", "_edit_use_anchors_", true); - bool use_anchors = control->has_meta("_edit_use_anchors_") && control->get_meta("_edit_use_anchors_"); + const bool use_anchors = control->has_meta("_edit_use_anchors_") && control->get_meta("_edit_use_anchors_"); undo_redo->add_undo_method(control, "_edit_set_state", control->_edit_get_state()); - undo_redo->add_undo_method(control, "set_meta", "_edit_use_anchors_", use_anchors); + if (use_anchors) { + undo_redo->add_undo_method(control, "set_meta", "_edit_use_anchors_", true); + } else { + undo_redo->add_undo_method(control, "remove_meta", "_edit_use_anchors_"); + } anchors_mode = true; anchor_mode_button->set_pressed(anchors_mode); @@ -4787,7 +4791,11 @@ void CanvasItemEditor::_button_toggle_anchor_mode(bool p_status) { continue; } - control->set_meta("_edit_use_anchors_", p_status); + if (p_status) { + control->set_meta("_edit_use_anchors_", true); + } else { + control->remove_meta("_edit_use_anchors_"); + } } anchors_mode = p_status;