From 9d30d674e6e1703f2a6b5989aac6a17419fff3a3 Mon Sep 17 00:00:00 2001
From: "p.kosyh"
Date: Sun, 4 Oct 2009 16:17:56 +0000
Subject: [PATCH] more correct get_sound
---
src/sdl-instead/game.c | 7 +++++++
stead/stead.lua | 4 +---
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/sdl-instead/game.c b/src/sdl-instead/game.c
index c01a164..69db63d 100644
--- a/src/sdl-instead/game.c
+++ b/src/sdl-instead/game.c
@@ -1083,6 +1083,13 @@ void game_sound_player(void)
snd = instead_eval("return get_sound()");
if (!snd)
return;
+
+ do { /* reset sound */
+ char *p = instead_eval("set_sound(nil)");
+ if (p)
+ free(p);
+ } while(0);
+
unix_path(snd);
w = sound_find(snd);
if (!w)
diff --git a/stead/stead.lua b/stead/stead.lua
index 75083f6..0930970 100644
--- a/stead/stead.lua
+++ b/stead/stead.lua
@@ -1849,9 +1849,7 @@ function set_music(s, count)
end
function get_sound()
- local ret = game._sound;
- game._sound = nil
- return ret
+ return game._sound;
end
function set_sound(s)