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
diff options
context:
space:
mode:
authorPeter Schlaile <peter@schlaile.de>2007-08-05 23:13:34 +0400
committerPeter Schlaile <peter@schlaile.de>2007-08-05 23:13:34 +0400
commitcb7e393307024facb4ed2f6a5009ce3a17e26eee (patch)
tree26496bcba7fea050c71873a2b85cc7c8a6a18347 /source/blender/src/sequence.c
parentad4e54c20c32b909649ce475b49f90c3f5b9e0e8 (diff)
== Sequencer ==
This fixes [#6996] Sequence Nesting and enables sequence nesting for the first time :) The old hack done by Ton prevented eternal loops by preventing Sequence tracks being added to Sequence scenes. We now disable "Do sequence" temporarily for the _current_ scene, which has the same effect but leaves the possibility of sequence nesting untouched. Also fixes a warning in editseq (uninitialized variable).
Diffstat (limited to 'source/blender/src/sequence.c')
-rw-r--r--source/blender/src/sequence.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/src/sequence.c b/source/blender/src/sequence.c
index db901930893..aad0ebf5c5f 100644
--- a/source/blender/src/sequence.c
+++ b/source/blender/src/sequence.c
@@ -832,8 +832,8 @@ static void do_build_seq_ibuf(Sequence * seq, int cfra)
re= RE_NewRender(sce->id.name);
/* prevent eternal loop */
- doseq= sce->r.scemode & R_DOSEQ;
- sce->r.scemode &= ~R_DOSEQ;
+ doseq= G.scene->r.scemode & R_DOSEQ;
+ G.scene->r.scemode &= ~R_DOSEQ;
BIF_init_render_callbacks(re, 0); /* 0= no display callbacks */
@@ -856,12 +856,15 @@ static void do_build_seq_ibuf(Sequence * seq, int cfra)
addzbuffloatImBuf(se->ibuf);
memcpy(se->ibuf->zbuf_float, rres.rectz, sizeof(float)*rres.rectx*rres.recty);
}
+ } else if (rres.rect32) {
+ se->ibuf= IMB_allocImBuf(rres.rectx, rres.recty, 32, IB_rect, 0);
+ memcpy(se->ibuf->rect, rres.rect32, 4*rres.rectx*rres.recty);
}
BIF_end_render_callbacks();
/* restore */
- sce->r.scemode |= doseq;
+ G.scene->r.scemode |= doseq;
if((G.f & G_PLAYANIM)==0) /* bad, is set on do_render_seq */
waitcursor(0);