Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2011-04-01 13:00:16 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-04-01 13:00:16 +0400
commit3556da255a53de6dc1ab4bf3859b5780390063a2 (patch)
treeba7c3609ee3f59d42bf75be363919951d866ff4d /source
parent6d3546069c270136856815365883c6490dbff25d (diff)
fix for memory leak when freeing metastrips from the clipboard.
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/intern/sequencer.c14
1 files changed, 13 insertions, 1 deletions
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;
}