mirror of https://github.com/bjornbytes/lovr.git
More memory stuff;
This commit is contained in:
parent
426b907294
commit
fe47104869
|
@ -45,6 +45,7 @@ int l_lovrThreadInit(lua_State* L) {
|
|||
luaL_register(L, NULL, lovrThreadModule);
|
||||
luax_registertype(L, "Thread", lovrThread);
|
||||
luax_registertype(L, "Channel", lovrChannel);
|
||||
lovrThreadInit();
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -60,7 +61,6 @@ int l_lovrThreadGetChannel(lua_State* L) {
|
|||
const char* name = luaL_checkstring(L, 1);
|
||||
Channel* channel = lovrThreadGetChannel(name);
|
||||
luax_pushtype(L, Channel, channel);
|
||||
lovrRelease(channel);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@ void lovrDestroy() {
|
|||
lovrHeadsetDestroy();
|
||||
lovrMathDestroy();
|
||||
lovrPhysicsDestroy();
|
||||
lovrThreadDeinit();
|
||||
lovrTimerDestroy();
|
||||
}
|
||||
|
||||
|
|
|
@ -13,6 +13,12 @@ void lovrThreadInit() {
|
|||
|
||||
void lovrThreadDeinit() {
|
||||
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);
|
||||
state.initialized = false;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue