--- np2/sound/vermouth/midiout.c 2006/12/10 11:14:31 1.13 +++ np2/sound/vermouth/midiout.c 2006/12/16 09:43:24 1.14 @@ -729,6 +729,7 @@ VEXTERN MIDIHDL VEXPORT midiout_create(M size += sizeof(_SAMPLE) * worksize; ret = (MIDIHDL)_MALLOC(size, "MIDIHDL"); if (ret) { + midimod_lock(module); ZeroMemory(ret, size); ret->samprate = module->samprate; ret->worksize = worksize; @@ -745,8 +746,12 @@ VEXTERN MIDIHDL VEXPORT midiout_create(M VEXTERN void VEXPORT midiout_destroy(MIDIHDL hdl) { + MIDIMOD module; + if (hdl) { + module = hdl->module; _MFREE(hdl); + midimod_lock(module); } }