summaryrefslogtreecommitdiff
path: root/src/engine.c
diff options
context:
space:
mode:
author0scar <qgt268@alumni.ku.dk>2023-08-14 09:44:23 +0000
committer0scar <qgt268@alumni.ku.dk>2023-08-14 10:13:07 +0000
commitb1d81e1b1fd59519119dc3e77333d51b0d5b2458 (patch)
tree0de1d98deb4e3d200811159c60f6823762b44f14 /src/engine.c
parentb88e3cb9e61aaa151d2072879e3382cb3af3485e (diff)
Add memory freeing to input contexts
Diffstat (limited to 'src/engine.c')
-rw-r--r--src/engine.c6
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();}