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

Peter Schlaile peter at schlaile.de
Tue May 20 23:31:14 CEST 2008


Revision: 14905
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14905
Author:   schlaile
Date:     2008-05-20 23:30:16 +0200 (Tue, 20 May 2008)

Log Message:
-----------
== Sequencer ==

This fixes:
[#11745] Blender crashes when changing Scenes on Sequencer`s Strips

containing:

- last_seq was set to null by scene-render
- button handling wasn't very robust (didn't check for null)
- REDRAWBUTSSCENE was missing

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

Modified: trunk/blender/source/blender/src/buttons_scene.c
===================================================================
--- trunk/blender/source/blender/src/buttons_scene.c	2008-05-20 13:31:31 UTC (rev 14904)
+++ trunk/blender/source/blender/src/buttons_scene.c	2008-05-20 21:30:16 UTC (rev 14905)
@@ -1286,6 +1286,10 @@
 	Sequence *last_seq = get_last_seq();
 	ScrArea * sa;
 
+	if (!last_seq) {
+		return;
+	}
+
 	switch(event) {
 	case B_SEQ_BUT_PLUGIN:
 	case B_SEQ_BUT_EFFECT:
@@ -1323,6 +1327,7 @@
 		allqueue(REDRAWALL, 0);
 	} else {
 		allqueue(REDRAWSEQ, 0);
+		allqueue(REDRAWBUTSSCENE, 0);
 	}
 }
 

Modified: trunk/blender/source/blender/src/sequence.c
===================================================================
--- trunk/blender/source/blender/src/sequence.c	2008-05-20 13:31:31 UTC (rev 14904)
+++ trunk/blender/source/blender/src/sequence.c	2008-05-20 21:30:16 UTC (rev 14905)
@@ -1756,6 +1756,7 @@
 		}
 	} else if(seq->type == SEQ_SCENE) {	// scene can be NULL after deletions
 		int oldcfra = CFRA;
+		Sequence * oldseq = get_last_seq();
 		Scene *sce= seq->scene, *oldsce= G.scene;
 		Render *re;
 		RenderResult rres;
@@ -1834,6 +1835,7 @@
 			if((G.f & G_PLAYANIM)==0) /* bad, is set on do_render_seq */
 				waitcursor(0);
 			CFRA = oldcfra;
+			set_last_seq(oldseq);
 
 			copy_to_ibuf_still(seq, se);
 





More information about the Bf-blender-cvs mailing list