Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorHans Goudey <h.goudey@me.com>2021-05-20 19:17:54 +0300
committerHans Goudey <h.goudey@me.com>2021-05-20 19:17:54 +0300
commit991a1cdf5dae6aeae2053d993f9983d8965a82be (patch)
tree969a825786ad897e1ee8f3dbc2b6ca83d5f56868 /source
parentee5bfde9e6eda215499f5586a502444ff3945bfa (diff)
Fix T87316: No undo push for clicking on attribute name
Since there is a special callback for assigning the name from the search box, and the callback doesn't call an operator or something else that would do an undo push, I think the solution is to do it manually here. Another option would be adding the button flag "UI_BUT_UNDO", which isn't set by default for search buttons, but that gives us ugly names for the undo steps, so an explicit push is better in this case. Differential Revision: https://developer.blender.org/D11190
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/space_node/node_geometry_attribute_search.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/editors/space_node/node_geometry_attribute_search.cc b/source/blender/editors/space_node/node_geometry_attribute_search.cc
index 856a90be5ae..94080a7b616 100644
--- a/source/blender/editors/space_node/node_geometry_attribute_search.cc
+++ b/source/blender/editors/space_node/node_geometry_attribute_search.cc
@@ -33,6 +33,8 @@
#include "RNA_access.h"
#include "RNA_enum_types.h"
+#include "ED_undo.h"
+
#include "BLT_translation.h"
#include "UI_interface.h"
@@ -132,7 +134,7 @@ static void attribute_search_update_fn(const bContext *UNUSED(C),
BLI_string_search_free(search);
}
-static void attribute_search_exec_fn(bContext *UNUSED(C), void *data_v, void *item_v)
+static void attribute_search_exec_fn(bContext *C, void *data_v, void *item_v)
{
AttributeSearchData *data = static_cast<AttributeSearchData *>(data_v);
AvailableAttributeInfo *item = static_cast<AvailableAttributeInfo *>(item_v);
@@ -140,6 +142,8 @@ static void attribute_search_exec_fn(bContext *UNUSED(C), void *data_v, void *it
bNodeSocket &socket = data->socket;
bNodeSocketValueString *value = static_cast<bNodeSocketValueString *>(socket.default_value);
BLI_strncpy(value->value, item->name.c_str(), MAX_NAME);
+
+ ED_undo_push(C, "Assign Attribute Name");
}
void node_geometry_add_attribute_search_button(const bContext *C,