Fix memory leak when renaming node group sockets/panels #114083
|
@ -151,6 +151,8 @@ class NodeSocketViewItem : public BasicTreeViewItem {
|
||||||
}
|
}
|
||||||
bool rename(const bContext &C, StringRefNull new_name) override
|
bool rename(const bContext &C, StringRefNull new_name) override
|
||||||
{
|
{
|
||||||
|
MEM_SAFE_FREE(socket_.name);
|
||||||
|
|
||||||
socket_.name = BLI_strdup(new_name.c_str());
|
socket_.name = BLI_strdup(new_name.c_str());
|
||||||
nodetree_.tree_interface.tag_items_changed();
|
nodetree_.tree_interface.tag_items_changed();
|
||||||
ED_node_tree_propagate_change(&C, CTX_data_main(&C), &nodetree_);
|
ED_node_tree_propagate_change(&C, CTX_data_main(&C), &nodetree_);
|
||||||
|
@ -208,6 +210,8 @@ class NodePanelViewItem : public BasicTreeViewItem {
|
||||||
}
|
}
|
||||||
bool rename(const bContext &C, StringRefNull new_name) override
|
bool rename(const bContext &C, StringRefNull new_name) override
|
||||||
{
|
{
|
||||||
|
MEM_SAFE_FREE(panel_.name);
|
||||||
|
|
||||||
panel_.name = BLI_strdup(new_name.c_str());
|
panel_.name = BLI_strdup(new_name.c_str());
|
||||||
nodetree_.tree_interface.tag_items_changed();
|
nodetree_.tree_interface.tag_items_changed();
|
||||||
ED_node_tree_propagate_change(&C, CTX_data_main(&C), &nodetree_);
|
ED_node_tree_propagate_change(&C, CTX_data_main(&C), &nodetree_);
|
||||||
|
|
Loading…
Reference in New Issue