diff --git a/project/src/audio/openal/OpenALBindings.cpp b/project/src/audio/openal/OpenALBindings.cpp index 4cbc85603..c6326d420 100644 --- a/project/src/audio/openal/OpenALBindings.cpp +++ b/project/src/audio/openal/OpenALBindings.cpp @@ -190,8 +190,13 @@ namespace lime { void lime_al_delete_source (value source) { - ALuint data = (ALuint)(uintptr_t)val_data (source); - alDeleteSources(1, &data); + if (!val_is_null (source)) { + + ALuint data = (ALuint)(uintptr_t)val_data (source); + alDeleteSources (1, &data); + val_gc (source, 0); + + } }