diff options
-rw-r--r-- | Alc/ALc.c | 13 | ||||
-rw-r--r-- | OpenAL32/Include/alMain.h | 2 |
2 files changed, 11 insertions, 4 deletions
@@ -596,6 +596,7 @@ static ALvoid InitContext(ALCcontext *pContext) //Validate pContext pContext->LastError = AL_NO_ERROR; pContext->InUse = AL_FALSE; + pContext->Suspended = AL_FALSE; //Set globals pContext->DistanceModel = AL_INVERSE_DISTANCE_CLAMPED; @@ -772,8 +773,10 @@ ALCAPI ALCenum ALCAPIENTRY alcGetError(ALCdevice *device) */ ALCAPI ALCvoid ALCAPIENTRY alcSuspendContext(ALCcontext *pContext) { - // Not a lot happens here ! - (void)pContext; + SuspendContext(NULL); + if(IsContext(pContext)) + pContext->Suspended = AL_TRUE; + ProcessContext(NULL); } @@ -784,8 +787,10 @@ ALCAPI ALCvoid ALCAPIENTRY alcSuspendContext(ALCcontext *pContext) */ ALCAPI ALCvoid ALCAPIENTRY alcProcessContext(ALCcontext *pContext) { - // Not a lot happens here ! - (void)pContext; + SuspendContext(NULL); + if(IsContext(pContext)) + pContext->Suspended = AL_FALSE; + ProcessContext(NULL); } diff --git a/OpenAL32/Include/alMain.h b/OpenAL32/Include/alMain.h index cb290e0c..b33f797b 100644 --- a/OpenAL32/Include/alMain.h +++ b/OpenAL32/Include/alMain.h @@ -316,6 +316,8 @@ struct ALCcontext_struct ALenum LastError; ALboolean InUse; + ALboolean Suspended; + ALenum DistanceModel; ALboolean SourceDistanceModel; |