diff options
| -rw-r--r-- | engines/sci/engine/ksound.cpp | 9 | 
1 files changed, 3 insertions, 6 deletions
diff --git a/engines/sci/engine/ksound.cpp b/engines/sci/engine/ksound.cpp index a5b30d13b2..f1d8ab7e45 100644 --- a/engines/sci/engine/ksound.cpp +++ b/engines/sci/engine/ksound.cpp @@ -999,6 +999,9 @@ reg_t kDoAudio(EngineState *s, int funct_nr, int argc, reg_t *argv) {  	Audio::Mixer *mixer = g_system->getMixer();  	int sampleLen = 0; +	if (!s->sound.audioResource) +		s->sound.audioResource = new AudioResource(); +  	switch (UKPV(0)) {  	case kSci1AudioWPlay:  	case kSci1AudioPlay: { @@ -1039,13 +1042,7 @@ reg_t kDoAudio(EngineState *s, int funct_nr, int argc, reg_t *argv) {  		mixer->setVolumeForSoundType(Audio::Mixer::kSpeechSoundType, UKPV(1));  		break;  	case kSci1AudioLanguage: -		if (s->sound.audioResource) -			delete s->sound.audioResource; - -		// The audio resource is freed when freeing all resources -		s->sound.audioResource = new AudioResource();  		s->sound.audioResource->setAudioLang(SKPV(1)); -  		break;  	default:  		warning("kDoAudio: Unhandled case %d", UKPV(0));  | 
