base: callback fixes
This commit is contained in:
@@ -397,7 +397,9 @@ f32 sys_real_delta(void) {
|
||||
static void _sys_run_callbacks(any_array_t *cbs, i32 len) {
|
||||
for (i32 i = 0; i < len; ++i) {
|
||||
callback_t *cb = cbs->buffer[i];
|
||||
cb->f(cb->data);
|
||||
if (cb != NULL) { // Callback may have been removed
|
||||
cb->f(cb->data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -459,10 +461,6 @@ void sys_remove_update(void (*f)(void *data)) {
|
||||
_sys_remove_callback(_sys_on_updates, f);
|
||||
}
|
||||
|
||||
void sys_remove_end_frame(void (*f)(void *data)) {
|
||||
_sys_remove_callback(_sys_on_end_frames, f);
|
||||
}
|
||||
|
||||
void video_unload(video_t *self) {}
|
||||
|
||||
char *sys_buffer_to_string(buffer_t *b) {
|
||||
|
||||
@@ -65,7 +65,6 @@ void sys_notify_on_update(void (*f)(void *data), void *data);
|
||||
void sys_notify_on_next_frame(void (*f)(void *data), void *data);
|
||||
void sys_notify_on_end_frame(void (*f)(void *data), void *data);
|
||||
void sys_remove_update(void (*f)(void *data));
|
||||
void sys_remove_end_frame(void (*f)(void *data));
|
||||
|
||||
void sys_render(void);
|
||||
void sys_foreground(void);
|
||||
|
||||
Reference in New Issue
Block a user