1
0
Fork 0
mirror of https://github.com/bjornbytes/lovr.git synced 2024-07-04 13:33:34 +00:00

More memory stuff;

This commit is contained in:
bjorn 2018-03-24 01:17:36 -07:00
parent 426b907294
commit fe47104869
3 changed files with 8 additions and 1 deletions

View file

@ -45,6 +45,7 @@ int l_lovrThreadInit(lua_State* L) {
luaL_register(L, NULL, lovrThreadModule); luaL_register(L, NULL, lovrThreadModule);
luax_registertype(L, "Thread", lovrThread); luax_registertype(L, "Thread", lovrThread);
luax_registertype(L, "Channel", lovrChannel); luax_registertype(L, "Channel", lovrChannel);
lovrThreadInit();
return 1; return 1;
} }
@ -60,7 +61,6 @@ int l_lovrThreadGetChannel(lua_State* L) {
const char* name = luaL_checkstring(L, 1); const char* name = luaL_checkstring(L, 1);
Channel* channel = lovrThreadGetChannel(name); Channel* channel = lovrThreadGetChannel(name);
luax_pushtype(L, Channel, channel); luax_pushtype(L, Channel, channel);
lovrRelease(channel);
return 1; return 1;
} }

View file

@ -15,6 +15,7 @@ void lovrDestroy() {
lovrHeadsetDestroy(); lovrHeadsetDestroy();
lovrMathDestroy(); lovrMathDestroy();
lovrPhysicsDestroy(); lovrPhysicsDestroy();
lovrThreadDeinit();
lovrTimerDestroy(); lovrTimerDestroy();
} }

View file

@ -13,6 +13,12 @@ void lovrThreadInit() {
void lovrThreadDeinit() { void lovrThreadDeinit() {
if (!state.initialized) return; if (!state.initialized) return;
const char* key;
map_iter_t iter = map_iter(&state.channels);
while ((key = map_next(&state.channels, &iter)) != NULL) {
Channel* channel = *(Channel**) map_get(&state.channels, key);
lovrRelease(channel);
}
map_deinit(&state.channels); map_deinit(&state.channels);
state.initialized = false; state.initialized = false;
} }