test for an AL or ALC error before calling an ALUT function.
This commit is contained in:
parent
56919ae45f
commit
176e760de1
@ -552,12 +552,14 @@ bool SGSoundMgr::load(string &samplepath, void **dbuf, int *fmt,
|
|||||||
|
|
||||||
#if defined(ALUT_API_MAJOR_VERSION) && ALUT_API_MAJOR_VERSION >= 1
|
#if defined(ALUT_API_MAJOR_VERSION) && ALUT_API_MAJOR_VERSION >= 1
|
||||||
ALfloat freqf;
|
ALfloat freqf;
|
||||||
|
testForALError("load file");
|
||||||
|
testForALCError("load file");
|
||||||
data = alutLoadMemoryFromFile(samplepath.c_str(), &format, &size, &freqf );
|
data = alutLoadMemoryFromFile(samplepath.c_str(), &format, &size, &freqf );
|
||||||
freq = (ALsizei)freqf;
|
freq = (ALsizei)freqf;
|
||||||
int error = alutGetError();
|
int error = alutGetError();
|
||||||
if (data == NULL || error != ALUT_ERROR_NO_ERROR) {
|
if (data == NULL || error != ALUT_ERROR_NO_ERROR) {
|
||||||
string msg = "Failed to load wav file: ";
|
string msg = "Failed to load wav file: ";
|
||||||
msg.append(alutGetErrorString(error));
|
msg.append(alutGetErrorString(error));
|
||||||
throw sg_io_exception(msg.c_str(), sg_location(samplepath));
|
throw sg_io_exception(msg.c_str(), sg_location(samplepath));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user