aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/ALc.c
diff options
context:
space:
mode:
Diffstat (limited to 'Alc/ALc.c')
-rw-r--r--Alc/ALc.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/Alc/ALc.c b/Alc/ALc.c
index ece66273..ccad718b 100644
--- a/Alc/ALc.c
+++ b/Alc/ALc.c
@@ -2549,8 +2549,17 @@ static ALvoid InitContext(ALCcontext *Context)
InitUIntMap(&Context->SourceMap, Context->Device->SourcesMax);
InitUIntMap(&Context->EffectSlotMap, Context->Device->AuxiliaryEffectSlotMax);
- auxslots = al_calloc(DEF_ALIGN, sizeof(struct ALeffectslotArray));
- auxslots->count = 0;
+ if(Context->DefaultSlot)
+ {
+ auxslots = al_calloc(DEF_ALIGN, FAM_SIZE(struct ALeffectslotArray, slot, 1));
+ auxslots->count = 1;
+ auxslots->slot[0] = Context->DefaultSlot;
+ }
+ else
+ {
+ auxslots = al_calloc(DEF_ALIGN, sizeof(struct ALeffectslotArray));
+ auxslots->count = 0;
+ }
ATOMIC_INIT(&Context->ActiveAuxSlots, auxslots);
//Set globals