[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