[Bf-blender-cvs] [4aa286d] master: Sequencer: Fix crash when trying to change filepath of Sound strip

Sergey Sharybin noreply at git.blender.org
Wed Jan 27 11:03:24 CET 2016


Commit: 4aa286d788d88d0cd59d80e5e5d5eed947b3206d
Author: Sergey Sharybin
Date:   Wed Jan 27 11:01:41 2016 +0100
Branches: master
https://developer.blender.org/rB4aa286d788d88d0cd59d80e5e5d5eed947b3206d

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.

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

M	source/blender/editors/space_sequencer/sequencer_edit.c

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

diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c
index d65cce1..9d96226 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;




More information about the Bf-blender-cvs mailing list