From 4aa286d788d88d0cd59d80e5e5d5eed947b3206d Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 27 Jan 2016 11:01:41 +0100 Subject: [PATCH] Sequencer: Fix crash when trying to change filepath of Sound strip It was not implemented and fallback RNA-based approach was not correct since there's no filepath property of sound strip. --- .../blender/editors/space_sequencer/sequencer_edit.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index d65cce1ad9c..9d96226027a 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -44,6 +44,7 @@ #include "BLT_translation.h" #include "DNA_scene_types.h" +#include "DNA_sound_types.h" #include "BKE_context.h" #include "BKE_global.h" @@ -3774,6 +3775,16 @@ static int sequencer_change_path_exec(bContext *C, wmOperator *op) /* important else we don't get the imbuf cache flushed */ BKE_sequencer_free_imbuf(scene, &ed->seqbase, false); } + else if (ELEM(seq->type, SEQ_TYPE_SOUND_RAM, SEQ_TYPE_SOUND_HD)) { + bSound *sound = seq->sound; + if (sound == NULL) { + return OPERATOR_CANCELLED; + } + char filepath[FILE_MAX]; + RNA_string_get(op->ptr, "filepath", filepath); + BLI_strncpy(sound->name, filepath, sizeof(sound->name)); + BKE_sound_load(bmain, sound); + } else { /* lame, set rna filepath */ PointerRNA seq_ptr;