diff --git a/src/shader.c b/src/shader.c index ec6f5f2..ef5e2c3 100644 --- a/src/shader.c +++ b/src/shader.c @@ -67,11 +67,12 @@ wn_shader *wn_shader_init(Arena *arena, shader->shaderProgram = shaderProgram; shader->success = true; - arena_deinit_task_push(arena, (void *)shader, *wn_shader_deinit); + arena_deinit_task_push(arena, (void *)shader, + (void (*)(void *))wn_shader_deinit); return shader; } -void wn_shader_deinit(void *shader) { +void wn_shader_deinit(wn_shader *shader) { wn_shader *cast_shader = (wn_shader *)shader; glDeleteProgram(cast_shader->shaderProgram); } diff --git a/src/shader.h b/src/shader.h index 318974c..7f7a4e8 100644 --- a/src/shader.h +++ b/src/shader.h @@ -17,4 +17,4 @@ typedef struct wn_shader_s wn_shader; wn_shader *wn_shader_init(Arena *arena, wn_shader_code_location shader_code_location); -void wn_shader_deinit(void* shader); +void wn_shader_deinit(wn_shader *shader); diff --git a/src/window.c b/src/window.c index e652734..641209d 100644 --- a/src/window.c +++ b/src/window.c @@ -56,12 +56,13 @@ wn_window *wn_window_init(Arena *arena) { SDL_SetWindowRelativeMouseMode(window->window, true); SDL_GetRelativeMouseState(NULL, NULL); - arena_deinit_task_push(arena, (void *)window, *wn_window_deinit); + arena_deinit_task_push(arena, (void *)window, + (void (*)(void *))wn_window_deinit); return window; } -void wn_window_deinit(void *window) { +void wn_window_deinit(wn_window *window) { wn_window *cast_window = (wn_window *)window; SDL_GL_DestroyContext(cast_window->glcontext); SDL_DestroyWindow(cast_window->window); diff --git a/src/window.h b/src/window.h index a62c07c..7603328 100644 --- a/src/window.h +++ b/src/window.h @@ -15,6 +15,6 @@ struct wn_window_s { typedef struct wn_window_s wn_window; wn_window *wn_window_init(Arena *arena); -void wn_window_deinit(void *window); +void wn_window_deinit(wn_window *window); void wn_swapwindow(wn_window *window);