[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11492] trunk/blender/source/blender/src: == Sequencer ==

Peter Schlaile peter at schlaile.de
Sun Aug 5 21:13:34 CEST 2007


Revision: 11492
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11492
Author:   schlaile
Date:     2007-08-05 21:13:34 +0200 (Sun, 05 Aug 2007)

Log Message:
-----------
== 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).

Modified Paths:
--------------
    trunk/blender/source/blender/src/editseq.c
    trunk/blender/source/blender/src/sequence.c

Modified: trunk/blender/source/blender/src/editseq.c
===================================================================
--- trunk/blender/source/blender/src/editseq.c	2007-08-05 18:53:41 UTC (rev 11491)
+++ trunk/blender/source/blender/src/editseq.c	2007-08-05 19:13:34 UTC (rev 11492)
@@ -203,7 +203,7 @@
 
 Sequence *find_neighboring_sequence(Sequence *test, int lr) {
 /* looks to the left on lr==1, to the right on lr==2 */
-	Sequence *seq,*foundneighbor;
+	Sequence *seq,*foundneighbor = 0;
 	int found=0;
 	Editing *ed;
 

Modified: trunk/blender/source/blender/src/sequence.c
===================================================================
--- trunk/blender/source/blender/src/sequence.c	2007-08-05 18:53:41 UTC (rev 11491)
+++ trunk/blender/source/blender/src/sequence.c	2007-08-05 19:13:34 UTC (rev 11492)
@@ -832,8 +832,8 @@
 			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 @@
 					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);





More information about the Bf-blender-cvs mailing list