Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 6b8e880a | 2021-10-26 20:27:34 | checkkeysthreads: Create a renderer for window display on Wayland Applies checkkeys patch from 105f1206 to checkkeysthreads. | ||
| cb1e20b0 | 2021-08-10 17:50:17 | Added KMOD_SCROLL to track the scroll lock state Fixes https://github.com/libsdl-org/SDL/issues/4566 | ||
| 64c40b90 | 2021-06-04 14:34:21 | Updated copyright date | ||
| 37b093ea | 2021-06-05 00:05:56 | test/checkkeysthreads: build fixes, and add to os2 makefile. | ||
| 0dd7024d | 2021-03-12 21:58:20 | Modifies WaitEvent and WaitEventTimeout to actually wait instead of polling When possible use native os functions to make a blocking call waiting for an incoming event. Previous behavior was to continuously poll the event queue with a small delay between each poll. The blocking call uses a new optional video driver event, WaitEventTimeout, if available. It is called only if an window already shown is available. If present the window is designated using the variable wakeup_window to receive a wakeup event if needed. The WaitEventTimeout function accept a timeout parameter. If positive the call will wait for an event or return if the timeout expired without any event. If the timeout is zero it will implement a polling behavior. If the timeout is negative the function will block indefinetely waiting for an event. To let the main thread sees events sent form a different thread a "wake-up" signal is sent to the main thread if the main thread is in a blocking state. The wake-up event is sent to the designated wakeup_window if present. The wake-up event is sent only if the PushEvent call is coming from a different thread. Before sending the wake-up event the ID of the thread making the blocking call is saved using the variable blocking_thread_id and it is compared to the current thread's id to decide if the wake-up event should be sent. Two new optional video device methods are introduced: WaitEventTimeout SendWakeupEvent in addition the mutex wakeup_lock which is defined and initialized but only for the drivers supporting the methods above. If the methods are not present the system behaves as previously performing a periodic polling of the events queue. The blocking call is disabled if a joystick or sensor is detected and falls back to previous behavior. |