Fix: GPv3 layer renaming when name is unchanged #111173
|
@ -864,8 +864,10 @@ static void namebutton_fn(bContext *C, void *tsep, char *oldname)
|
|||
/* The node already has the new name set. To properly rename the node, we need to first
|
||||
* store the new name, restore the old name in the node, and then call the rename
|
||||
* function. */
|
||||
|
||||
|
||||
std::string new_name(node.name);
|
||||
node.name = oldname;
|
||||
node.name = BLI_strdup(oldname);
|
||||
Falk David
commented
`sizeof(oldname)` is a pointer, this won't work. But you can use `node.name = BLI_strdup(oldname)` which will call `strlen` internally.
|
||||
|
||||
if (node.is_group()) {
|
||||
grease_pencil.rename_group(node.as_group_for_write(), new_name);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
If the issue is that the
node.name
points tooldname
shouldn't this compare the pointers instead of the string?node.name
points to oldname after thisif block
(see line 871 in PR 😅 )Ah, of course. Then I think the right thing to do is call
STRNCPY(node.name, oldname);
instead ofnode.name = oldname;