Error if getting/setting out-of-range samples (issue #674)

This commit is contained in:
Bart van Strien
2013-07-09 15:00:51 +02:00
parent 7e50691b6c
commit aaa301ead2
2 changed files with 18 additions and 4 deletions
+16 -2
View File
@@ -72,7 +72,14 @@ int w_SoundData_setSample(lua_State *L)
SoundData *sd = luax_checksounddata(L, 1);
int i = (int)lua_tointeger(L, 2);
float sample = (float)lua_tonumber(L, 3);
sd->setSample(i, sample);
try
{
sd->setSample(i, sample);
}
catch (love::Exception &e)
{
return luaL_error(L, "%s", e.what());
}
return 0;
}
@@ -80,7 +87,14 @@ int w_SoundData_getSample(lua_State *L)
{
SoundData *sd = luax_checksounddata(L, 1);
int i = (int)lua_tointeger(L, 2);
lua_pushnumber(L, sd->getSample(i));
try
{
lua_pushnumber(L, sd->getSample(i));
}
catch (love::Exception &e)
{
return luaL_error(L, "%s", e.what());
}
return 1;
}