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
This commit is contained in:

committed by
Richard Antalik

parent
ac18c3c28d
commit
15d27c1ae5
Submodule release/scripts/addons_contrib updated: 69bcc72f1e...d9ed9d4d06
@@ -677,6 +677,9 @@ void BKE_sound_set_cfra(int cfra)
|
|||||||
void BKE_sound_set_scene_volume(Scene *scene, float volume)
|
void BKE_sound_set_scene_volume(Scene *scene, float volume)
|
||||||
{
|
{
|
||||||
sound_verify_evaluated_id(&scene->id);
|
sound_verify_evaluated_id(&scene->id);
|
||||||
|
if (scene->sound_scene == NULL) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
AUD_Sequence_setAnimationData(scene->sound_scene,
|
AUD_Sequence_setAnimationData(scene->sound_scene,
|
||||||
AUD_AP_VOLUME,
|
AUD_AP_VOLUME,
|
||||||
CFRA,
|
CFRA,
|
||||||
|
@@ -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)
|
static void rna_Sequence_use_sequence(Main *bmain, Scene *scene, PointerRNA *ptr)
|
||||||
{
|
{
|
||||||
/* General update callback. */
|
/* General update callback. */
|
||||||
@@ -2227,7 +2234,7 @@ static void rna_def_scene(BlenderRNA *brna)
|
|||||||
prop = RNA_def_property(srna, "scene", PROP_POINTER, PROP_NONE);
|
prop = RNA_def_property(srna, "scene", PROP_POINTER, PROP_NONE);
|
||||||
RNA_def_property_flag(prop, PROP_EDITABLE | PROP_ID_SELF_CHECK);
|
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_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);
|
prop = RNA_def_property(srna, "scene_camera", PROP_POINTER, PROP_NONE);
|
||||||
RNA_def_property_flag(prop, PROP_EDITABLE);
|
RNA_def_property_flag(prop, PROP_EDITABLE);
|
||||||
|
Reference in New Issue
Block a user