kc3-lang/SDL/src

Branch :


Log

Author Commit Date CI Message
dfb834d3 2021-11-10 13:41:44 Track button state for each mouse input source separately This way we'll get button down and up events for each mouseID individually. Fixes https://github.com/libsdl-org/SDL/issues/4518
eda4c407 2021-11-10 12:46:54 Make sure the X event is an Xkb event before checking the Xkb event type
98c98362 2021-11-10 11:04:51 Don't clobber the error in SDL_ShowMessageBox() if one has been set at the platform level Fixes https://github.com/libsdl-org/SDL/issues/4760
dc4c7d95 2021-11-10 09:48:49 Fixed infinite loop in SDL_vsnprintf() if the format string is too large for the output buffer Fixes https://github.com/libsdl-org/SDL/issues/4940
d5032582 2021-11-10 09:45:56 Use consistent language between SDLTest_AssertPass() and SDLTest_AssertCheck()
6c4b4ee7 2021-11-10 09:41:43 Don't assert on API parameters This causes lots of spam in test automation and it's not clear it's useful to developers. If we need this level of validation, we should add a log category for it.
fed85778 2021-11-10 08:47:39 Update the orientation and display modes when the display settings change on Windows Fixes https://github.com/libsdl-org/SDL/issues/1061
c0f1109b 2021-11-10 06:03:01 Implemented querying the orientation of displays on Windows
3a31a450 2021-11-10 05:24:31 End the scene before resetting the D3D device, since we'll start with BeginScene after that. If we don't do this, we'll end up with unbalanced Begin/End scene pairs which causes D3DERR_INVALIDCALL in the present. Fixes https://github.com/libsdl-org/SDL/issues/4933
6b64c47b 2021-11-09 23:45:32 haptics: Enumerate XInput/DInput joysticks after haptic init Since the haptic subsystem is usually initialized after the joystick subsystem, the initial calls to HapticMaybeAddDevice() from inside SDL_JoystickInit() will arrive too early to be handled by the haptic subsystem. We need to add those haptic devices for those already present joysticks ourselves.
0d987936 2021-11-09 22:03:42 testwm2: Fix video modes menu hit detection when highdpi or logical size used (#4936) * SDLTest_CommonDrawWindowInfo: log SDL_RenderGetScale, SDL_RenderGetLogicalSize * testwm2: fix video modes menu hit detection in High DPI cases - also when logical size is specified, e.g. `--logical 640x480 --resizable --allow-highdpi` * add function to determine logical coordinates of renderer point when given window point * change since to the targeted milestone * fix typo * rename for consistency * Change logical coordinate type to float, since we can render with floating point precision. * add function to convert logical to window coordinates * testwm2: use new SDL_RenderWindowToLogical * SDL_render.c: alternate SDL_RenderWindowToLogical/SDL_RenderLogicalToWindow Co-authored-by: John Blat <johnblat64@protonmail.com> Co-authored-by: John Blat <47202511+johnblat64@users.noreply.github.com>
27ce9144 2021-11-09 20:51:42 Send absolute mouse motion when in normal mouse mode and relative mouse motion when in relative mode on iOS This keeps the SDL cursor in sync with the visible cursor when in normal mouse mode.
19c129fa 2021-11-09 20:32:16 Added documentation that the UIApplicationSupportsIndirectInputEvents key must be set to true in your application's Info.plist in order to get real Bluetooth mouse events.
7681929c 2021-11-09 12:30:37 Don't send the initial joystick axis event if the application is in the background
d31f90d9 2021-11-09 12:09:01 Don't send game controller touchpad or sensor events unless the application has focus Fixes https://github.com/libsdl-org/SDL/issues/4891
d2f75636 2021-11-09 11:53:59 When making the window centered it should use windowed mode size since it doesn't affect fullscreen windows Fixes bug https://github.com/libsdl-org/SDL/issues/4750
1fc25bd8 2021-11-08 22:04:34 Properly position the IME window(s) on windows
04f42e04 2021-11-09 11:50:49 metal: Deal better with -[CAMetalLayer nextDrawable] returning nil. Fixes #4863.
0f2bf629 2021-11-09 06:20:46 Fixed building hidapi when libusb is available
e8731933 2021-11-09 13:32:28 Fixed warning: macro is not used
c7065bf4 2021-11-09 11:31:29 Fix warning: declaration shadows a local variable
715e7bda 2021-11-09 01:43:44 haptic: Don't enumerate joysticks if the joystick subsystem is active The joystick subsystem has complex precedence logic to deal multiple competing backends like XInput, RawInput, and WGI. Let it fire the MaybeAdd callbacks for joystick devices, since it knows which backend will end up managing them. This resolves a situation where the RawInput joystick backend would take control of an XInput device but the XInput haptic backend would still create a haptic device. Since the XInput joystick backend didn't own the underlying joystick device, we'd end up with an orphaned haptic device that didn't work with SDL_HapticOpenFromJoystick() on the associated joystick device.
ae67c7d2 2021-11-09 01:30:00 Implemented SDL_SetWindowMouseRect() on Wayland
18e69827 2021-11-08 22:29:02 Fixed Linux build
881f747d 2021-11-09 13:35:18 Always destroy icon
7fea557b 2021-11-09 12:03:09 SDL_windowsmouse.c: Remove LR_COPYDELETEORG flag
67c42cb4 2021-11-08 22:16:01 Fixed Windows build
fd79607e 2021-11-08 21:34:48 Added SDL_GetWindowMouseRect() Also guarantee that we won't get mouse movement outside the confining area, even if the OS implementation allows it (e.g. macOS)
4db546b0 2021-11-08 20:35:12 Implemented SDL_SetWindowMouseRect() on macOS
9c95c249 2021-11-08 20:01:56 x11: Use XCheckIfEvent() instead of XNextEvent() for thread-safety A racing reader could read from our fd between SDL_IOReady()/X11_Pending() and our call to XNextEvent() which will cause XNextEvent() to block for more data. Avoid this by using XCheckIfEvent() which will never block. This also fixes a bug where we could poll() for data, even when events were already read and pending in the queue. Unlike the Wayland implementation, this isn't totally thread-safe because nothing prevents a racing reader from reading events into the queue between our XCheckIfEvent() and SDL_IOReady() calls, but I think this is the best we can do with Xlib.
2d23d66a 2021-11-08 16:33:50 Fixed SetWindowMouseRect return value on Windows
7d21322d 2021-11-08 16:29:19 Implemented SDL_SetWindowMouseRect() on Windows
4b42c05b 2021-11-08 13:52:48 video: Add SDL_SetWindowMouseRect. This API and implementation comes from the Unreal Engine branch of SDL, which originally called this "SDL_ConfineCursor". Some minor cleanup and changes for consistency with the rest of SDL_video, but there are two major changes: 1. The coordinate system has been changed so that `rect` is _window_ relative and not _screen_ relative, making it easier to implement without having global access to the display. 2. The UE version unset all rects when passing `NULL` as a parameter for `window`, this has been removed as it was an unused feature anyhow. Currently this is only implemented for X, but can be supported on Wayland and Windows at minimum too.
a3e8fd49 2021-11-08 09:58:11 Cancel any accumulated mouse wheel motion in the opposite direction when the wheel direction changes Fixes https://github.com/libsdl-org/SDL/issues/2912
5dbbc8e6 2021-11-08 09:44:31 Added mouse wheel deltas with floating point precision Fixes https://github.com/libsdl-org/SDL/issues/4888
d95a52c9 2021-11-08 09:39:21 Fixed comment typo
fc998b8e 2021-11-08 12:37:10 wayland: Return true for HasScreenKeyboardSupport only if no physical keyboard exists
b8327a4a 2021-11-08 07:19:45 Added SDL_HIDAPI_DISABLED so it can be disabled like other SDL subsystems
2a6feb50 2021-11-08 07:10:38 Removed accidental debugging commit (thanks @DomGries!)
6c56e275 2021-11-08 07:05:17 Set both _NET_WM_NAME and WM_NAME so SDL windows can be shared in the browser. Fixes https://github.com/libsdl-org/SDL/issues/4924
301819cd 2021-11-08 20:34:20 SDL_windowsmouse.c: Fix WIN_CreateCursor does not scale with system cursor size preference
f61b10dc 2021-11-08 06:34:32 Do more robust validation of devices passed to the SDL HIDAPI functions
dd8c3548 2021-11-08 17:00:56 SDL_hidapi.c: avoid possible NULL pointer dereferences.
5b646cd1 2021-11-07 22:58:44 Build hidapi code into SDL as a new public API This prevents conflicts with hidapi linked with applications, as well as allowing applications to make use of HIDAPI on Android and other platforms that might not normally have an implementation available.
94c1276a 2021-11-07 20:49:32 emscripten: Decrease vertical scroll speed by using deltaMode Reference issue #4623.
f6dc47ca 2021-11-07 16:00:47 WGI/DInput: Fix SDL_IsXInputDevice() checks when RawInput is enabled Enabling the RawInput backend causes SDL_XINPUT_Enabled() to return false. That causes WGI and DInput backends to take ownership of XInput-compatible controllers, because they think there's no XInput-specific backend enabled. In WGI's case, it will actually race with RawInput to open the device. By properly excluding XInput devices from WGI, we can ensure that the sets of devices managed by WGI and RawInput don't intersect. This makes the race harmless, since they'll never both go after the same device.
301389ce 2021-11-07 13:52:59 Fixed iOS build
b3e909dc 2021-11-07 13:51:34 WGI: Fix SDL_IsXInputDevice() for Xbox One controllers The Xbox One driver stack doesn't propagate the VID/PID down to the HID devices that end up in the GetRawInputDeviceList() output. This means we end up matching against the wrong VID/PID and can't properly exclude Xbox One controllers from WGI. Fortunately, it is possible to walk back up the device tree to find the parent with the matching VID/PID.
b8c00bf9 2021-11-07 13:11:29 Allow opening joysticks that are read-only on Linux Fixes https://github.com/libsdl-org/SDL/issues/4713
0323d983 2021-11-07 12:52:06 Add the platform to the game controller mapping so it can be read back in without changes Fixes https://github.com/libsdl-org/SDL/issues/4848
d950b9e2 2021-11-07 20:40:54 emscripten: Make timers work (if used with emscripten_set_main_loop) Co-authored-by: aidanhs <aidanhs@cantab.net>
fe2fe290 2021-11-07 11:48:16 Backed out accidentally committed PR https://github.com/libsdl-org/SDL/pull/4849
86bc65a7 2021-11-07 11:35:12 Fixed non-Apple builds
637bcd0b 2021-11-07 11:19:07 Fixed build warnings
e1435826 2021-11-07 11:16:48 Cleanup sfSymbolName support and add them to the dynamic API functions
149e5c65 2021-10-03 12:49:36 Support returning sfSymbolsName for gamepad controls on macOS / iOS / tvOS
3acb1725 2021-11-07 12:26:39 stdlib: SDL_snprintf now adds decimal places for ("%f", 0.0). This patch was from @Markvy (thanks!). Fixes #4795.
2008f2a8 2021-11-07 01:41:34 SDL_test_font.c: fix type of SDLTest_CharTextureCacheList
a0e055a7 2021-11-07 02:48:29 testwm2: add mode menu, click on a mode to call SDL_SetWindowDisplayMode
70f7ebe6 2021-11-07 01:46:04 SDL_test_font.c: add ability to draw on different SDL_Renderers fixes `testwm2 --windows 2`
6312aaea 2021-11-06 21:52:22 WGI: Add workaround for delayed callbacks after WGI_JoystickQuit()
2248a549 2021-11-05 22:48:46 Update the focus in case we changed focus to a child window and then away from the application In this case we'll get WM_KILLFOCUS when the child window is focused, but we'll retain focus on the top level window, but when we Alt-Tab away, we won't get another WM_KILLFOCUS or WM_NCACTIVATE, we get WM_ACTIVATE instead, so we need to check for focus updates in response to that as well.
6407d4b0 2021-11-05 17:10:02 remove unnecessary parentheses from SDL_abs()
6cbee063 2021-11-05 01:17:29 include: Swap parameter names in atan2 functions
2371b247 2021-10-31 18:27:51 windows: improve feature detection consistency between CMake and non-CMake builds
839ca0ea 2021-11-03 16:35:24 SDL_OpenURL (macOS): try to open path if the url cannot be opened (#4830) * SDL_OpenURL (macOS): try to open path if the url cannot be opened * SDL_OpenURL (macOS): use CFURLCreateWithBytes & LSOpenCFURLRef to correctly escape input * fix type casting + indentation
8593076d 2021-11-02 16:04:36 Fixed whitespace
62629c2b 2021-11-02 22:17:41 Fix 64-bit timeval/timespec delta calculations
6d5edfa7 2021-11-02 15:59:26 Fixed crash on Android 8, due to bugs in AAudio implementation
43ddc59f 2021-11-02 16:56:14 Export SDL_LinuxSetThreadPriorityAndPolicy() function (#4877) It's marked as being a public symbol internally, however, it was missing from the header files and not visible in the shared library. This adds it to the necessary headers and to the DynAPI list to expose it for use by applications. Co-authored-by: Frank Praznik <frank.praznik@oh.rr.com>
848d7b12 2021-11-02 16:12:55 Vita: Implement command batching
3f7a94fc 2021-11-02 15:16:48 Vita: Remove FillRects
f73376ae 2021-11-02 00:31:25 events: Add logging for SDL_CONTROLLERTOUCHPAD*, SDL_CONTROLLERSENSORUPDATE, and SDL_SENSORUPDATE events
2379c528 2021-10-25 11:04:42 os/2: Don't try to be clever with the 32-bit GetTicks fallback.
cca79d32 2021-10-23 15:30:20 android: Patched SDL_GetTicks64() to compile.
affb183e 2021-10-23 15:20:32 unix: Fixed SDL_GetTicks64 function signature.
99c9727d 2021-10-23 15:00:31 timer: Added SDL_GetTicks64(), for a timer that doesn't wrap every ~49 days. Note that this removes the timeGetTime() fallback on Windows; it is a 32-bit counter and SDL2 should never choose to use it, as it only is needed if QueryPerformanceCounter() isn't available, and QPC is _always_ available on Windows XP and later. OS/2 has a similar situation, but since it isn't clear to me that similar promises can be made about DosTmrQueryTime() even in modern times, I decided to leave the fallback in, with some heroic measures added to try to provide a true 64-bit tick counter despite the 49-day wraparound. That approach can migrate to Windows too, if we discover some truly broken install that doesn't have QPC and still depends on timeGetTime(). Fixes #4870.
fba82ad1 2021-10-31 12:38:08 Remove sceGxmFinish from RenderPresent on Vita. Make sure that rendering is finished on render texture during locking
a01aaf05 2021-10-30 21:42:07 Fixed compiler warning
4d3da5b7 2021-10-26 21:51:29 riscos: Disable the mouse pointer for now
1c256b89 2021-10-26 13:42:34 riscos: Fix enumerating screen modes
5a3c97f3 2021-10-25 22:55:02 riscos: Fix detection of the current mode
53b3db0c 2021-09-28 17:59:16 Handle the KMOD_SCROLL modifier on RISC OS
1268984e 2021-09-09 21:09:50 Implement mouse input on RISC OS
f7f54f0d 2021-08-06 23:38:46 Implement keyboard input on RISC OS Partially based on a patch from http://www.riscos.info/websvn/listing.php?repname=gccsdk&path=%2Ftrunk%2Fautobuilder%2Flibraries%2Fsdl%2Flibsdl2%2F&rev=7174#a6401c766f408f1ea356e6977894cc6a5 Currently lacks support for mapping scancodes to keycodes.
f8a8ca3e 2021-08-05 23:16:29 Support proper mode switching on RISC OS
fe9bb747 2021-02-12 23:46:11 riscos: Refactor framebuffer code
25c71748 2020-02-13 21:55:08 Add a barebones RISC OS video driver
a5598649 2021-10-30 19:30:34 x11/wayland: Fix signal handling while blocking in WaitEventTimeout() Add a new flag to avoid suppressing EINTR in SDL_IOReady(). Pass the flag in WaitEventTimeout() to ensure that a SIGINT will wake up SDL_WaitEvent() without another event coming in.
c97c4687 2021-10-30 15:56:54 core: Convert SDL_IOReady()'s 2nd parameter to flags
8a4a282a 2021-10-30 16:02:12 alsa: Make hotplug thread optional. Even without the thread, it'll do an initial hardware detection at startup, but there won't be any further hotplug events after that. But for many cases, that is likely complete sufficient. In either case, this cleaned up the code to no longer need a semaphore at startup. Fixes #4862.
26706319 2021-10-30 05:53:12 Ignore the ASRock LED controller, it's not a joystick
ac54d57a 2021-10-26 20:02:38 event: Check subsystem initialization before events or devices SDL_WasInit() is cheaper SDL_NumJoysticks()/SDL_NumSensors().
1bc6dc3e 2021-10-26 20:02:04 event: Cap maximum wait time if sensor or joystick subsystems are active Joystick and sensor subsystems require periodic polling to detect new devices.
2bf36bfa 2021-10-24 21:28:04 wayland: Implement WaitEventTimeout() and SendWakeupEvent() We can have spurious wakeups in WaitEventTimeout() due to Wayland events that don't end up causing us to generate an SDL event. Fortunately for us, SDL_WaitEventTimeout_Device() handles this situation properly by calling WaitEventTimeout() again with an adjusted timeout.
9c799802 2021-10-26 15:18:26 Vita: fix IME input languages
c57bcb47 2021-10-23 14:46:03 test: Fix building with libunwind under autotools There are two issues which are stopping the SDL tests from building on my machine: - libunwind is not being linked - Even if it is, it is missing several symbols. The first is fixed by having the test programs link against libunwind if available. Technically, SDL2_test should be linking against it, as it's used in SDL_test_memory.c, but as SDL2_test is a static library, it can't itself import libunwind. We just assume that if it's present on the system, we should link it directly to the test programs. This should strictly be an improvement, as the only case where this'd fail is if SDL2 was compiled when libunwind was present, but the tests are being compiled without it, and that'd fail anyway. The second is fixed by #define-ing UNW_LOCAL_ONLY before including libunwind.h: this is required to make libunwind link to predicatable symbols, in what can only be described as a bit of a farce. There are a few more details in the libunwind man page, but the gist of it is that it disables support for "remote unwinding": unwinding stack frames in a different process (and possibly from a different architecture?): http://www.nongnu.org/libunwind/man/libunwind(3).html Note that I haven't tried this with CMake: I suspect that it'll work, though, as the CMakeLists.txt seems to have SDL2 link against libunwind if it's present. This adds an ugly extra dependency to SDL2, but does mean that issue 1 isn't present. The UNW_LOCAL_ONLY change shouldn't be build-system-specific.
408a93a1 2021-10-23 15:43:04 wayland: Use multi-thread event reading APIs Wayland provides the prepare_read()/read_events() family of APIs for reading from the display fd in a deadlock-free manner across multiple threads in a multi-threaded application. Let's use those instead of trying to roll our own solution using a mutex. This fixes an issue where a call to SDL_GL_SwapWindow() doesn't swap buffers if it happens to collide with SDL_PumpEvents() in the main thread. It also allows coexistence with other code or toolkits in our process that may want read and dispatch events themselves.
4960cc3d 2021-10-25 16:18:40 Fixed a few warnings
b7933945 2021-10-25 13:46:40 SDL_Renderer: make clear that we use render geometry for fillrect/copy/copyex when there is no specific back-end implementation (currently software, PSP, directfb)