From 3556da255a53de6dc1ab4bf3859b5780390063a2 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 1 Apr 2011 09:00:16 +0000 Subject: fix for memory leak when freeing metastrips from the clipboard. --- source/blender/blenkernel/intern/sequencer.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'source') diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c index 67d79709c4f..8c5696c9a3f 100644 --- a/source/blender/blenkernel/intern/sequencer.c +++ b/source/blender/blenkernel/intern/sequencer.c @@ -218,13 +218,25 @@ Editing *seq_give_editing(Scene *scene, int alloc) return scene->ed; } +static void seq_free_clipboard_recursive(Sequence *seq_parent) +{ + Sequence *seq, *nseq; + + for(seq= seq_parent->seqbase.first; seq; seq= nseq) { + nseq= seq->next; + seq_free_clipboard_recursive(seq); + } + + seq_free_sequence(NULL, seq_parent); +} + void seq_free_clipboard(void) { Sequence *seq, *nseq; for(seq= seqbase_clipboard.first; seq; seq= nseq) { nseq= seq->next; - seq_free_sequence(NULL, seq); + seq_free_clipboard_recursive(seq); } seqbase_clipboard.first= seqbase_clipboard.last= NULL; } -- cgit v1.2.3