[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35079] trunk/blender/source/blender: Fix for [#26160] Blender Crashes when undoing

Joerg Mueller nexyon at gmail.com
Tue Feb 22 17:32:06 CET 2011


Revision: 35079
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35079
Author:   nexyon
Date:     2011-02-22 16:32:05 +0000 (Tue, 22 Feb 2011)
Log Message:
-----------
Fix for [#26160] Blender Crashes when undoing

Was trying to free audio data from sequencer strips that don't even have audio. Corrected the error in several ways so this will definitely not happen again :-)

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/sequencer.c
    trunk/blender/source/blender/blenloader/intern/readfile.c

Modified: trunk/blender/source/blender/blenkernel/intern/sequencer.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/sequencer.c	2011-02-22 16:12:12 UTC (rev 35078)
+++ trunk/blender/source/blender/blenkernel/intern/sequencer.c	2011-02-22 16:32:05 UTC (rev 35079)
@@ -193,7 +193,7 @@
 		if (ed->act_seq==seq)
 			ed->act_seq= NULL;
 
-		if(seq->scene_sound)
+		if(seq->scene_sound && ELEM(seq->type, SEQ_SOUND, SEQ_SCENE))
 			sound_remove_scene_sound(scene, seq->scene_sound);
 
 		seq_free_animdata(scene, seq);
@@ -3399,6 +3399,7 @@
 	seq->mul= 1.0;
 	seq->blend_opacity = 100.0;
 	seq->volume = 1.0f;
+	seq->scene_sound = NULL;
 
 	return seq;
 }

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2011-02-22 16:12:12 UTC (rev 35078)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2011-02-22 16:32:05 UTC (rev 35079)
@@ -4368,6 +4368,7 @@
 
 			SEQ_BEGIN(sce->ed, seq) {
 				if(seq->ipo) seq->ipo= newlibadr_us(fd, sce->id.lib, seq->ipo);
+				seq->scene_sound = NULL;
 				if(seq->scene) {
 					seq->scene= newlibadr(fd, sce->id.lib, seq->scene);
 					seq->scene_sound = sound_scene_add_scene_sound(sce, seq, seq->startdisp, seq->enddisp, seq->startofs + seq->anim_startofs);




More information about the Bf-blender-cvs mailing list