From 25a283acce6b34690468d5a521a44c16ee211c2d Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 5 Apr 2022 09:22:32 +1000 Subject: Fix memory leak duplicating sequencer strips Regression in [0] also skip creating a GSet when there are no F-curves. [0]: e74420124f3a429ad8a1492e56a7e1561d86d6f7 --- source/blender/sequencer/intern/animation.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'source/blender/sequencer/intern') diff --git a/source/blender/sequencer/intern/animation.c b/source/blender/sequencer/intern/animation.c index 27f7316e042..a908bb01d35 100644 --- a/source/blender/sequencer/intern/animation.c +++ b/source/blender/sequencer/intern/animation.c @@ -126,10 +126,15 @@ void SEQ_animation_restore_original(Scene *scene, ListBase *list) void SEQ_animation_duplicate(Scene *scene, Sequence *seq, ListBase *list) { + if (BLI_listbase_is_empty(list)) { + return; + } + GSet *fcurves = SEQ_fcurves_by_strip_get(seq, list); GSET_FOREACH_BEGIN (FCurve *, fcu, fcurves) { FCurve *fcu_cpy = BKE_fcurve_copy(fcu); BLI_addtail(&scene->adt->action->curves, fcu_cpy); } GSET_FOREACH_END(); + BLI_gset_free(fcurves, NULL); } -- cgit v1.2.3