Fix bug with es_remove_event_listener
This commit is contained in:
parent
ca016c34f0
commit
01592a57a4
@ -11,7 +11,7 @@
|
||||
|
||||
#define IS_INVALID_SYSTEM(ES) (ES.id == 0)
|
||||
#define IS_INVALID_EVENT(EV) (EV.id == 0)
|
||||
#define IS_INVALID_LISTENER(LS) (LS.id == 0)
|
||||
#define IS_INVALID_LISTENER(LS) (LS.id == 0 || IS_INVALID_EVENT(LS.event))
|
||||
|
||||
typedef struct es_internal ESInternal;
|
||||
struct es_internal {
|
||||
@ -219,7 +219,11 @@ void es_remove_event_listener(EventSystem event_system, EventListener listener)
|
||||
return;
|
||||
}
|
||||
|
||||
ESInternal *es = get_event_system_internal(event_system);
|
||||
ESInternal *es = get_event_system_internal(event_system);
|
||||
if (listener.event.id > es->event_count) {
|
||||
return;
|
||||
}
|
||||
|
||||
EventInternal *ev = get_event(es, listener.event);
|
||||
|
||||
if (listener.id > ev->count) {
|
||||
|
Loading…
Reference in New Issue
Block a user