Fixed excessive use of make_current

This commit is contained in:
Josh Yelon 2007-09-01 03:37:09 +00:00
parent 2185c271e2
commit 1ec5c0380d

View File

@ -123,14 +123,14 @@ OpenALAudioManager() {
if (!_device) { if (!_device) {
// this is a unique kind of error // this is a unique kind of error
audio_error("OpenALAudioManager: alcOpenDevice(NULL): ALC couldn't open device"); audio_error("OpenALAudioManager: alcOpenDevice(NULL): ALC couldn't open device");
} else { } else {
alcGetError(_device); // clear errors alcGetError(_device); // clear errors
_context=alcCreateContext(_device,NULL); _context=alcCreateContext(_device,NULL);
alc_audio_errcheck("alcCreateContext(_device,NULL)",_device); alc_audio_errcheck("alcCreateContext(_device,NULL)",_device);
if (_context!=NULL) { if (_context!=NULL) {
_openal_active = true; _openal_active = true;
} }
} }
} }
// We increment _active_managers regardless of possible errors above. // We increment _active_managers regardless of possible errors above.
// The shutdown call will do the right thing when it's called, // The shutdown call will do the right thing when it's called,
@ -142,7 +142,9 @@ OpenALAudioManager() {
audio_error("OpenALAudioManager: No open device or context"); audio_error("OpenALAudioManager: No open device or context");
_is_valid = false; _is_valid = false;
} else { } else {
make_current(); alcGetError(_device); // clear errors
alcMakeContextCurrent(_context);
alc_audio_errcheck("alcMakeContextCurrent(_context)",_device);
// set 3D sound characteristics as they are given in the configrc // set 3D sound characteristics as they are given in the configrc
audio_3d_set_doppler_factor(audio_doppler_factor); audio_3d_set_doppler_factor(audio_doppler_factor);
@ -208,9 +210,7 @@ is_valid() {
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
void OpenALAudioManager:: void OpenALAudioManager::
make_current() const { make_current() const {
alcGetError(_device); // clear errors // Since we only use one context, this is now a no-op.
alcMakeContextCurrent(_context);
alc_audio_errcheck("alcMakeContextCurrent(_context)",_device);
} }
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////