From d308531497614f98b4e63de0095e6ddc37f7706e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ond=C5=99ej=20Ho=C5=A1ek?= Date: Tue, 25 Oct 2005 19:40:57 +0000 Subject: [PATCH] Fixed flame-caused segfault when sound is off SVN-Revision: 2917 --- src/audio/sound_manager.hpp | 2 ++ src/badguy/flame.cpp | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/audio/sound_manager.hpp b/src/audio/sound_manager.hpp index 5415b7055..b39162bb4 100644 --- a/src/audio/sound_manager.hpp +++ b/src/audio/sound_manager.hpp @@ -41,6 +41,8 @@ public: void enable_music(bool music_enabled); void play_music(const std::string& filename, bool fade = false); void stop_music(bool fade = true); + + bool is_sound_enabled() { return sound_enabled; } void update(); diff --git a/src/badguy/flame.cpp b/src/badguy/flame.cpp index f43b69a05..1c03b3595 100644 --- a/src/badguy/flame.cpp +++ b/src/badguy/flame.cpp @@ -62,12 +62,16 @@ Flame::active_update(float elapsed_time) start_position.y + sin(angle) * radius); movement = newpos - get_pos(); - source->set_position(get_pos()); + if (sound_manager->is_sound_enabled()) + source->set_position(get_pos()); } void Flame::activate() { + if (!sound_manager->is_sound_enabled()) + return; + delete source; source = sound_manager->create_sound_source("sounds/flame.wav"); if(!source) { -- 2.11.0