aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2009-06-07 14:53:22 -0700
committerChris Robinson <[email protected]>2009-06-07 14:53:22 -0700
commit0fac1e911565791e50c0d23ce515042a64c40696 (patch)
treeaf409aec23212d14ce917ba5ecacdf2e01f3da41 /OpenAL32
parentf3a3358e63d5481fdfcb75856ae485b252767c47 (diff)
Store the max number of auxiliary slots in the device
Diffstat (limited to 'OpenAL32')
-rw-r--r--OpenAL32/Include/alMain.h4
-rw-r--r--OpenAL32/alAuxEffectSlot.c4
2 files changed, 5 insertions, 3 deletions
diff --git a/OpenAL32/Include/alMain.h b/OpenAL32/Include/alMain.h
index 82877735..5efbbbe7 100644
--- a/OpenAL32/Include/alMain.h
+++ b/OpenAL32/Include/alMain.h
@@ -167,6 +167,8 @@ struct ALCdevice_struct
// Maximum number of sources that can be created
ALuint MaxNoOfSources;
+ // Maximum number of slots that can be created
+ ALuint AuxiliaryEffectSlotMax;
// Context created on this device
ALCcontext *Context;
@@ -195,8 +197,6 @@ struct ALCcontext_struct
struct ALeffectslot *AuxiliaryEffectSlot;
ALuint AuxiliaryEffectSlotCount;
- // Maximum number of slots that can be created
- ALuint AuxiliaryEffectSlotMax;
ALenum LastError;
ALboolean InUse;
diff --git a/OpenAL32/alAuxEffectSlot.c b/OpenAL32/alAuxEffectSlot.c
index f606a099..805bdb4b 100644
--- a/OpenAL32/alAuxEffectSlot.c
+++ b/OpenAL32/alAuxEffectSlot.c
@@ -49,7 +49,9 @@ ALvoid AL_APIENTRY alGenAuxiliaryEffectSlots(ALsizei n, ALuint *effectslots)
if (n > 0)
{
- if(Context->AuxiliaryEffectSlotCount+n <= Context->AuxiliaryEffectSlotMax)
+ ALCdevice *Device = alcGetContextsDevice(Context);
+
+ if(Context->AuxiliaryEffectSlotCount+n <= Device->AuxiliaryEffectSlotMax)
{
// Check that enough memory has been allocted in the 'effectslots' array for n Effect Slots
if (!IsBadWritePtr((void*)effectslots, n * sizeof(ALuint)))