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
This commit is contained in:
parent
ee5bfde9e6
commit
991a1cdf5d
Notes:
blender-bot
2023-02-21 17:59:30 +01:00
Referenced by issue #87316, No undo push for selecting item in attribute search
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue