Преглед на файлове

Don't pass the sentinel event to event callbacks

This is just for internal use and we don't need to incur the overhead of calling callback and watchers for this event.
Sam Lantinga преди 2 години
родител
ревизия
63979f04c8
променени са 1 файла, в които са добавени 2 реда и са изтрити 1 реда
  1. 2 1
      src/events/SDL_events.c

+ 2 - 1
src/events/SDL_events.c

@@ -1248,7 +1248,8 @@ int SDL_PushEvent(SDL_Event *event)
         event->common.timestamp = SDL_GetTicksNS();
     }
 
-    if (SDL_EventOK.callback || SDL_event_watchers_count > 0) {
+    if ((SDL_EventOK.callback || SDL_event_watchers_count > 0) &&
+        (event->common.type != SDL_EVENT_POLL_SENTINEL)) {
         SDL_LockMutex(SDL_event_watchers_lock);
         {
             if (SDL_EventOK.callback && !SDL_EventOK.callback(SDL_EventOK.userdata, event)) {