mirror of
https://github.com/blender/blender
synced 2026-09-29 04:37:17 +03:00
Code Cleanup: Deduplicate undo node freeing code
This commit is contained in:
parent
929701931d
commit
b6508da380
1 changed files with 13 additions and 16 deletions
|
|
@ -124,6 +124,17 @@ void gpencil_undo_init(bGPdata *gpd)
|
|||
gpencil_undo_push(gpd);
|
||||
}
|
||||
|
||||
static void gpencil_undo_free_node(bGPundonode *undo_node)
|
||||
{
|
||||
/* HACK: animdata wasn't duplicated, so it shouldn't be freed here,
|
||||
* or else the real copy will segfault when accessed
|
||||
*/
|
||||
undo_node->gpd->adt = NULL;
|
||||
|
||||
BKE_gpencil_free(undo_node->gpd, false);
|
||||
MEM_freeN(undo_node->gpd);
|
||||
}
|
||||
|
||||
void gpencil_undo_push(bGPdata *gpd)
|
||||
{
|
||||
bGPundonode *undo_node;
|
||||
|
|
@ -137,14 +148,7 @@ void gpencil_undo_push(bGPdata *gpd)
|
|||
while (undo_node) {
|
||||
bGPundonode *next_node = undo_node->next;
|
||||
|
||||
/* HACK: animdata wasn't duplicated, so it shouldn't be freed here,
|
||||
* or else the real copy will segfault when accessed
|
||||
*/
|
||||
undo_node->gpd->adt = NULL;
|
||||
|
||||
BKE_gpencil_free(undo_node->gpd, false);
|
||||
MEM_freeN(undo_node->gpd);
|
||||
|
||||
gpencil_undo_free_node(undo_node);
|
||||
BLI_freelinkN(&undo_nodes, undo_node);
|
||||
|
||||
undo_node = next_node;
|
||||
|
|
@ -188,14 +192,7 @@ void gpencil_undo_finish(void)
|
|||
bGPundonode *undo_node = undo_nodes.first;
|
||||
|
||||
while (undo_node) {
|
||||
/* HACK: animdata wasn't duplicated, so it shouldn't be freed here,
|
||||
* or else the real copy will segfault when accessed
|
||||
*/
|
||||
undo_node->gpd->adt = NULL;
|
||||
|
||||
BKE_gpencil_free(undo_node->gpd, false);
|
||||
MEM_freeN(undo_node->gpd);
|
||||
|
||||
gpencil_undo_free_node(undo_node);
|
||||
undo_node = undo_node->next;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue