From c0409a612ec0fe4949d67f11e6d89492ccda9339 Mon Sep 17 00:00:00 2001 From: Abdelrahman Date: Sat, 25 Jan 2025 18:13:04 +0000 Subject: [PATCH] Revert "es_register_event and es_add_event_listener takes a pointer" This reverts commit 8e5a421753cc8899a0d61f9d3c91cab04d105543. --- src/event_system.c | 14 +++++++------- src/event_system.h | 4 ++-- src/main.c | 8 ++++---- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/event_system.c b/src/event_system.c index 3574795..6682b72 100644 --- a/src/event_system.c +++ b/src/event_system.c @@ -131,19 +131,19 @@ void es_deinit(EventSystem *event_system) { event_system->id = 0; } -Event es_register_event(EventSystem *event_system) { +Event es_register_event(EventSystem event_system) { Event event = INVALID_EVENT; - if (!event_system || IS_INVALID_SYSTEM((*event_system))) { + if (IS_INVALID_SYSTEM(event_system)) { goto RETURN_EVENT; } - ESInternal *es = get_event_system_internal(*event_system); + ESInternal *es = get_event_system_internal(event_system); if (!VALID_MAGIC(es)) { goto RETURN_EVENT; } - event.system = *event_system; + event.system = event_system; EventSlot *event_slots_array = get_event_slots_array(es); @@ -170,12 +170,12 @@ RETURN_EVENT: return event; } -void es_deregister_event(EventSystem *event_system, Event *event) { - if (!event_system || IS_INVALID_SYSTEM((*event_system)) || IS_INVALID_EVENT((*event)) || event_system->id != event->system.id) { +void es_deregister_event(EventSystem event_system, Event *event) { + if (IS_INVALID_SYSTEM(event_system) || IS_INVALID_EVENT((*event)) || event_system.id != event->system.id) { return; } - ESInternal *es = get_event_system_internal(*event_system); + ESInternal *es = get_event_system_internal(event_system); if (!VALID_MAGIC(es) || event->id > es->event_count) { return; } diff --git a/src/event_system.h b/src/event_system.h index ddd32ef..a04ad74 100644 --- a/src/event_system.h +++ b/src/event_system.h @@ -30,8 +30,8 @@ typedef void (*EventCallback)(void *data); EventSystem es_init(u64 initial_event_capacity, u64 initial_listeners_capacity); void es_deinit(EventSystem *event_system); -Event es_register_event(EventSystem *event_system); -void es_deregister_event(EventSystem *event_system, Event *event); +Event es_register_event(EventSystem event_system); +void es_deregister_event(EventSystem event_system, Event *event); EventListener es_add_event_listener(EventSystem event_system, Event event, EventCallback callback); void es_remove_event_listener(EventSystem event_system, EventListener listener); void es_emit_event(EventSystem event_system, Event event, void *data); diff --git a/src/main.c b/src/main.c index 6b67ce6..64a5771 100644 --- a/src/main.c +++ b/src/main.c @@ -40,7 +40,7 @@ int main(void) { EventSystem es = es_init(COUNT_EVENTS, 64); for (int i = 0; i < COUNT_EVENTS; ++i) { - events[i] = es_register_event(&es); + events[i] = es_register_event(es); listeners[i] = es_add_event_listener(es, events[i], callbacks[i]); } @@ -61,15 +61,15 @@ int main(void) { es_emit_event(es, events[EVENT_MOUSE], (void *)&mouse_event); // You can also add other events not stored in an array - Event extra_event = es_register_event(&es); + Event extra_event = es_register_event(es); EventListener listener = es_add_event_listener(es, extra_event, extra_event_handler); es_emit_event(es, extra_event, NULL); es_remove_event_listener(es, listener); - es_deregister_event(&es, &extra_event); + es_deregister_event(es, &extra_event); for (int i = 0; i < COUNT_EVENTS; ++i) { es_remove_event_listener(es, listeners[i]); - es_deregister_event(&es, &events[i]); + es_deregister_event(es, &events[i]); } es_deinit(&es);