Used types in deinit functions
This commit is contained in:
parent
44c776ed04
commit
b07bc1365e
4 changed files with 8 additions and 6 deletions
|
|
@ -67,11 +67,12 @@ wn_shader *wn_shader_init(Arena *arena,
|
||||||
shader->shaderProgram = shaderProgram;
|
shader->shaderProgram = shaderProgram;
|
||||||
shader->success = true;
|
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;
|
return shader;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wn_shader_deinit(void *shader) {
|
void wn_shader_deinit(wn_shader *shader) {
|
||||||
wn_shader *cast_shader = (wn_shader *)shader;
|
wn_shader *cast_shader = (wn_shader *)shader;
|
||||||
glDeleteProgram(cast_shader->shaderProgram);
|
glDeleteProgram(cast_shader->shaderProgram);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,4 +17,4 @@ typedef struct wn_shader_s wn_shader;
|
||||||
wn_shader *wn_shader_init(Arena *arena,
|
wn_shader *wn_shader_init(Arena *arena,
|
||||||
wn_shader_code_location shader_code_location);
|
wn_shader_code_location shader_code_location);
|
||||||
|
|
||||||
void wn_shader_deinit(void* shader);
|
void wn_shader_deinit(wn_shader *shader);
|
||||||
|
|
|
||||||
|
|
@ -56,12 +56,13 @@ wn_window *wn_window_init(Arena *arena) {
|
||||||
SDL_SetWindowRelativeMouseMode(window->window, true);
|
SDL_SetWindowRelativeMouseMode(window->window, true);
|
||||||
SDL_GetRelativeMouseState(NULL, NULL);
|
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;
|
return window;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wn_window_deinit(void *window) {
|
void wn_window_deinit(wn_window *window) {
|
||||||
wn_window *cast_window = (wn_window *)window;
|
wn_window *cast_window = (wn_window *)window;
|
||||||
SDL_GL_DestroyContext(cast_window->glcontext);
|
SDL_GL_DestroyContext(cast_window->glcontext);
|
||||||
SDL_DestroyWindow(cast_window->window);
|
SDL_DestroyWindow(cast_window->window);
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,6 @@ struct wn_window_s {
|
||||||
typedef struct wn_window_s wn_window;
|
typedef struct wn_window_s wn_window;
|
||||||
|
|
||||||
wn_window *wn_window_init(Arena *arena);
|
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);
|
void wn_swapwindow(wn_window *window);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue