diff options
Diffstat (limited to 'src/engine.c')
| -rw-r--r-- | src/engine.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/engine.c b/src/engine.c index 72dcd27..ecc6ec1 100644 --- a/src/engine.c +++ b/src/engine.c @@ -759,11 +759,13 @@ void engine_input_ctx_push(i_ctx *ctx) { void engine_input_ctx_pop(void) { if (GLOBAL_PLATFORM->bindings == NULL || GLOBAL_PLATFORM->bindings_sz == 0) return; - GLOBAL_PLATFORM->bindings_len--; + i_ctx_t_free(GLOBAL_PLATFORM->bindings[--GLOBAL_PLATFORM->bindings_len]); } void engine_input_ctx_reset(void) { - GLOBAL_PLATFORM->bindings_len = 0; + while (GLOBAL_PLATFORM->bindings_len > 0) { + i_ctx_t_free(GLOBAL_PLATFORM->bindings[--GLOBAL_PLATFORM->bindings_len]); + } } u32 get_time(void) {return SDL_GetTicks();} |
