[Bf-blender-cvs] [15d27c1ae53] blender-v2.81-release: Fix T70845: Crash when switching scene of scene strip.

Richard Antalik noreply at git.blender.org
Wed Oct 23 02:35:12 CEST 2019


Commit: 15d27c1ae53adc7d768fc6ca13073e74fbb36ee4
Author: Richard Antalik
Date:   Tue Oct 22 17:30:43 2019 -0700
Branches: blender-v2.81-release
https://developer.blender.org/rB15d27c1ae53adc7d768fc6ca13073e74fbb36ee4

Fix T70845: Crash when switching scene of scene strip.

Crash on assert in `sound_verify_evaluated_id()`

Reviewed By: sergey

Maniphest Tasks: T70845

Differential Revision: https://developer.blender.org/D6104

===================================================================

M	release/scripts/addons_contrib
M	source/blender/blenkernel/intern/sound.c
M	source/blender/makesrna/intern/rna_sequencer.c

===================================================================

diff --git a/release/scripts/addons_contrib b/release/scripts/addons_contrib
index 69bcc72f1ec..d9ed9d4d064 160000
--- a/release/scripts/addons_contrib
+++ b/release/scripts/addons_contrib
@@ -1 +1 @@
-Subproject commit 69bcc72f1ec4df73265ce35851658ef184b9d0f9
+Subproject commit d9ed9d4d064c74c86e2767cd4be32d602a0ee317
diff --git a/source/blender/blenkernel/intern/sound.c b/source/blender/blenkernel/intern/sound.c
index 6cbb01861e2..d42436ecb40 100644
--- a/source/blender/blenkernel/intern/sound.c
+++ b/source/blender/blenkernel/intern/sound.c
@@ -677,6 +677,9 @@ void BKE_sound_set_cfra(int cfra)
 void BKE_sound_set_scene_volume(Scene *scene, float volume)
 {
   sound_verify_evaluated_id(&scene->id);
+  if (scene->sound_scene == NULL) {
+    return;
+  }
   AUD_Sequence_setAnimationData(scene->sound_scene,
                                 AUD_AP_VOLUME,
                                 CFRA,
diff --git a/source/blender/makesrna/intern/rna_sequencer.c b/source/blender/makesrna/intern/rna_sequencer.c
index 31ead989f25..18985d41551 100644
--- a/source/blender/makesrna/intern/rna_sequencer.c
+++ b/source/blender/makesrna/intern/rna_sequencer.c
@@ -157,6 +157,13 @@ static void rna_Sequence_invalidate_composite_update(Main *UNUSED(bmain),
   }
 }
 
+static void rna_Sequence_scene_switch_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+{
+  rna_Sequence_invalidate_raw_update(bmain, scene, ptr);
+  DEG_id_tag_update(&scene->id, ID_RECALC_AUDIO | ID_RECALC_SEQUENCER_STRIPS);
+  DEG_relations_tag_update(bmain);
+}
+
 static void rna_Sequence_use_sequence(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
   /* General update callback. */
@@ -2227,7 +2234,7 @@ static void rna_def_scene(BlenderRNA *brna)
   prop = RNA_def_property(srna, "scene", PROP_POINTER, PROP_NONE);
   RNA_def_property_flag(prop, PROP_EDITABLE | PROP_ID_SELF_CHECK);
   RNA_def_property_ui_text(prop, "Scene", "Scene that this sequence uses");
-  RNA_def_property_update(prop, NC_SCENE | ND_SEQUENCER, "rna_Sequence_invalidate_raw_update");
+  RNA_def_property_update(prop, NC_SCENE | ND_SEQUENCER, "rna_Sequence_scene_switch_update");
 
   prop = RNA_def_property(srna, "scene_camera", PROP_POINTER, PROP_NONE);
   RNA_def_property_flag(prop, PROP_EDITABLE);



More information about the Bf-blender-cvs mailing list