diff options
-rw-r--r-- | Alc/ALc.c | 19 |
1 files changed, 8 insertions, 11 deletions
@@ -2297,19 +2297,16 @@ ALC_API ALCvoid ALC_APIENTRY alcDestroyContext(ALCcontext *context) ALCdevice *Device; LockLists(); + /* alcGetContextsDevice sets an error for invalid contexts */ Device = alcGetContextsDevice(context); - if(!Device) + if(Device) { - UnlockLists(); - return; - } - - ReleaseContext(context, Device); - - if(!Device->ContextList) - { - ALCdevice_StopPlayback(Device); - Device->Flags &= ~DEVICE_RUNNING; + ReleaseContext(context, Device); + if(!Device->ContextList) + { + ALCdevice_StopPlayback(Device); + Device->Flags &= ~DEVICE_RUNNING; + } } UnlockLists(); } |