Log

Author Commit Date CI Message
Sam Lantinga c70e6759 2022-11-03T12:37:54 Wait a bit for devices to initialize before trying to enumerate and open them. This works around udev event nodes arriving before hidraw nodes and the controller being opened twice - once using the Linux driver and once by the HIDAPI driver. This also fixes a kernel panic on Steam Link hardware due to trying to open the hidraw device node too early. A delay of 10 ms seems to be a good value, tested on Steam Link hardware.
Guldoman 084fa4c3 2022-11-01T10:55:17 cocoa: Reset IME when sending composed text This will send an empty `TEXTEDITING` event that is used to signal the end of the composition.
Anonymous Maarten 04bcc910 2022-10-29T03:14:54 cmake: don't do enable_language(OBJC) When SDL is included as a subproject, the following error might appear: ``` CMake Error: Error required internal CMake variable not set, cmake may not be built correctly. Missing variable is: CMAKE_OBJC_COMPILE_OBJECT ``` This is probably because the master project does not see certain OBJC related variables
Luca Lolli b50e4293 2022-09-07T12:21:56 Fix compilation for .m files extension
Anonymous Maarten 61297f70 2022-10-29T03:20:30 cmake: on Apple, check for presence of an OBJC compiler
Anonymous Maarten 4c704ecf 2022-11-01T16:33:21 cmake: use SDL2-static as static library output name when prefix/static == ""/".lib" Apparently, some clang@Windows compilers do this.
Guldoman 70a41f9b 2022-11-01T09:59:16 wayland: Read `window` data only if `window` is valid
Sam Lantinga b75d3187 2022-10-31T13:33:53 Sometimes the HID open doesn't succeed immediately after being notified about the device Tested on Steam Link hardware with the Nintendo Switch Pro controller, which will occasionally take 2 attempts to open.
Jasper Hugunin 27ee8c8e 2022-10-28T22:35:16 Fix mismatch between Init and Quit Init says that audio implies events (line 195), Quit was missing the implication.
Frank Praznik 33a43005 2022-10-31T12:23:51 wayland: Don't modify the mouse capture flag in relative mode If relative mouse mode is explicitly enabled, don't modify the capture flag on button events or the window might report having lost mouse focus if a button is pressed while moving the cursor.
Simon McVittie a66cb8cf 2022-10-31T11:44:32 sdl2.m4: Deprecate AM_PATH_SDL2 in favour of PKG_CHECK_MODULES AM_PATH_SDL2 doesn't add much beyond PKG_CHECK_MODULES, and having a special m4 macro for every library that you might depend on scales poorly. The macro does add special support for macOS frameworks, but that feature was broken for around 6 years without anyone noticing (#6141), and is likely to be only rarely useful according to comments on #6141. Resolves: #6140 Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie e0d904e9 2022-10-31T12:05:36 sdl2-config.in: Deprecate sdl2-config Library-specific foo-config scripts duplicate very similar logic across various different projects, and tend to break cross-compiling, multilib (gcc -m32), Debian/Ubuntu multiarch and so on by only being able to have one sdl2-config at a time as the first one in the PATH. The direct replacement is pkg-config(1) or a compatible reimplementation like pkgconf(1), which relies on each library installing declarative metadata, like SDL's sdl2.pc (available since at least 2.0.0) and centralizes the logic into the pkg-config/pkgconf tool. Most uses of `sdl2-config --foo` can be replaced by something similar to `${PKG_CONFIG:-pkg-config} --foo sdl2`. Instead of adding a custom sdl2-config to the PATH or using its --prefix or --exec-prefix options, users of a custom installation prefix can use any of pkg-config's non-SDL-specific ways to influence the result, for example setting PKG_CONFIG_PATH, PKG_CONFIG_SYSROOT_DIR or PKG_CONFIG_LIBDIR environment variables, or setting the PKG_CONFIG environment variable to point to a wrapper script. For Autotools specifically, the replacement for AM_PATH_SDL2 (which will be officially deprecated in a subsequent commit) is PKG_CHECK_MODULES. CMake has its own semi-declarative mechanism for dependency discovery, "config packages", and the SDL build already installs a config package. There's a good example of using a config package to discover SDL in `cmake/test/`. Meson natively supports pkg-config, and already uses it in preference to sdl2-config. Other build systems can run pkg-config instead of sdl2-config, preferably checking the PKG_CONFIG environment variable first. https://github.com/ioquake/ioq3 is a good example of a project doing this correctly. Helps: #6140, #3516 Signed-off-by: Simon McVittie <smcv@collabora.com>
Hubert Maier d7a46a16 2022-10-30T08:37:23 SDL_SYSLOADSO.c: Correct spelling mistake publically -> publicly
Hubert Maier 6a881302 2022-10-30T08:35:59 SDL_IBUS.H: Correct spelling mistake recieve -> receive
Hubert Maier 61f3662c 2022-10-30T08:34:47 SDL_QSA_AUDIO.C: Correct spelling mistake occured -> occurred
Hubert Maier 57973cd3 2022-10-30T08:30:49 SDL_HINTS.H: Correct spelling mistake noticable -> noticeable
Hubert Maier 678ef797 2022-10-30T08:53:34 SDL_KMSDRMOPENGLES.H: Correct spelling mistakes begining -> beginning beggining -> beginning
Hubert Maier 8b9c82e1 2022-10-30T08:50:36 SDL_RENDER_PSP.C: Correct spelling mistakes wether -> whether
Hubert Maier 3369b016 2022-10-30T08:43:04 SDL_PS2_MAIN.C: Correct spelling mistake untill -> until
Ethan Lee 571ff1a3 2022-10-30T00:19:09 wayland: Prepare cursor implementation for reconnect support Co-authored-by: David Edmundson <kde@davidedmundson.co.uk>
Ethan Lee 9c8b1fd8 2022-10-29T22:34:05 wayland: Cleanup work to aid reconnect support Co-authored-by: David Edmundson <kde@davidedmundson.co.uk>
Sam Lantinga f6b1e028 2022-10-29T10:42:48 Allow vendor matching for hid_enumerate() on all backends
许兴逸 c360ca99 2022-10-29T16:55:10 Add UWP-ARM64 Support.
Sam Lantinga 4556074e 2022-10-29T09:35:07 Re-set the maximize state if we were maximized while fullscreen
Sam Lantinga ab06a307 2022-10-29T09:21:17 Don't report windows being maximized when fullscreen on X11 This is a functional state for some window managers (tested using stock Ubuntu 22.04.1), and removing that state, e.g. using SDL_RestoreWindow(), results in a window centered and floating, and not visually covering the rest of the desktop.
Ryan C. Gordon b9e1d1b4 2022-10-09T19:49:34 events: Rename SDL_SendKeyboardKeyComplete to SDL_SendKeyboardKeyAndKeycode.+
Ryan C. Gordon 92215481 2022-10-09T19:33:52 emscripten: Make an attempt at correct keyboard scancode/keycodes. This uses a newer browser API to get physical scancodes, but still uses the (deprecated) event field that we were already using for scancodes, but for keycodes instead now, which appears to be more accurate. Since keyboard layout isn't (generally) available to web apps, this adds an internal interface to send key events with both scancode and keycode to SDL's internals, instead of sending just scancodes and expecting SDL to use its own keymap to generate keycodes. Future work in this area would be to use the keyboard layout APIs on browsers that support them, which would allow us to use SDL's usual keymap code and not rely on a deprecated browser API, but until we get there, this patch gives significantly more correct results than we would have before. Fixes #2098.
Ryan C. Gordon 0ddec7e4 2022-10-28T16:07:30 docs: Add notes about Emscripten audio quirks. Fixes #6385.
Francisco Javier Trujillo Mata a8f019b1 2022-10-28T00:52:06 Using ST and removing warnings
Francisco Javier Trujillo Mata f2ebedae 2022-10-27T00:35:20 adding texture function
Francisco Javier Trujillo Mata 5de01eb0 2022-10-22T00:22:34 Make render to use new functions
Sam Lantinga f500c147 2022-10-28T08:39:02 Fixed DirectFB build
Ryan C. Gordon 9e8d2f39 2022-10-27T13:54:53 video: Don't use texture framebuffer on Windows Subsystem for Linux. Reference Issue #6333.
Frank Praznik 4223e6ac 2022-10-26T13:14:50 wayland: Early-out sooner when requesting fullscreen on a popup Exit the fullscreen sequence sooner if it is requested that a popup window be fullscreen. The surface commit formerly in this path is irrelevant and can be removed as previous changes made it so that SetFullscreen() is no longer called from anywhere except Wayland_SetWindowFullscreen().
SDL Wiki Bot 11a24a34 2022-10-26T22:30:06 Sync SDL wiki -> header
Ryan C. Gordon 41d38c0f 2022-10-26T09:43:04 shape: More robust handling of failure cases in CreateShaper.
Ryan C. Gordon c8d20f96 2022-10-25T23:13:34 shape: Free platform-specific shaped window data. Fixes #2128.
Frank Praznik 30c2dac7 2022-10-25T20:00:38 wayland: Remove duplicate #include statement
Sam Lantinga 25d0473a 2022-10-25T16:14:26 Removed Razer Onza Tournament Edition mapping The controller can use either hat or buttons for the D-Pad, depending on what Linux driver is in use. The automatic mapping in LINUX_JoystickGetGamepadMapping() will do the right thing based on the exposed capability bits. I'm sure this is the case for other controllers as well, so we might be removing more mappings over time.
Sam Lantinga e837debc 2022-10-25T16:13:50 Bindings should have a trailing comma, so the CRC can be appended
Sam Lantinga b6cf889a 2022-10-25T15:09:43 Use ScreenCount() instead of SDL_GetNumVideoDisplays() The limitation appears to be specific to multi-screen setups
Sam Lantinga c74ea994 2022-10-25T13:11:41 Added support for the Razer Raiju Tournament Edition controller in Bluetooth mode
Sam Lantinga 72f6e216 2022-10-25T12:25:57 Disabled debug logging
Sam Lantinga e3f5744d 2022-10-25T12:14:00 Don't use XIWarpPointer() on multi-display configurations
SDL Wiki Bot 393acf63 2022-10-25T18:07:13 Sync SDL wiki -> header
Ryan C. Gordon 98dfc929 2022-10-25T14:03:32 build-scripts/fnsince.pl: Deal with new point-release system. This ignores 2.x.1 (etc) releases, which prevents it from thinking the next official non-point-release version is 2.26.1, when it should be 2.26.0, because it saw the "latest" release is 2.24.1. This fixes the wiki ending up with imaginary version numbers for the "this function is available since SDL 2.x.y" sections. Fixes #6343.
Alynne 5fbf8f6c 2022-10-25T12:37:17 Adds DualSense Edge
Sam Lantinga da478d1f 2022-10-25T10:30:56 Fixed build
Sam Lantinga a6018ae5 2022-10-25T10:23:51 Added support for the NVIDIA SHIELD controller v1.03 to the HIDAPI driver
Ozkan Sezer 20beed30 2022-10-25T14:56:32 SDL_EGL_GetProcAddress: remove unnecessary underscore-prepended search. Closes https://github.com/libsdl-org/SDL/issues/6236.
Steven Noonan 053b5f85 2022-08-25T20:18:03 SDL_windowsevents: minimize white screen flash on window creation Clear the window to black on the initial window draw, to avoid a really obnoxious white flash. This doesn't always eliminate it, but it definitely minimizes it.
Steven Noonan b6e7c743 2022-08-25T20:21:03 SDL_cpuinfo: define __ARM_ARCH=8 for _M_ARM64 Microsoft's compiler doesn't define __ARM_ARCH, but we have several places that use it.
Steven Noonan d2300516 2022-09-07T06:49:02 cocoa: set sRGB colorspace on nswindow This makes the colorspace match across different graphics APIs. By default, OpenGL was getting a much more saturated colorspace (maybe Display P3?) and it was looking very different from the rendering done by Metal or MoltenVK.
Steven Noonan 019e9d4c 2022-08-25T23:15:58 SDL_cocoavideo.m: add missing SDL_cocoaopengles.h include
Sam Lantinga dd72f3f0 2022-10-24T10:37:43 Added comment for #endif
Steven Noonan 3d35c085 2022-10-02T17:30:03 fix a few 'unused but set variable' and 'unused function' warnings
Sam Lantinga f4d1f5ed 2022-10-23T16:35:36 SDL-HIDPS4: fix PS4 Slim controller over BT - it sends the same input report as the it does over USB, but with a larger packet size CR: saml
Sam Lantinga 5bd13dec 2022-10-23T16:35:22 Merge commit '8db3a33872cfbefcdfb059beea92338a7873f89e' into main
Sam Lantinga e6742d05 2022-10-23T16:35:20 Merge commit '413500ab69d9ac288a73946073d4414376ca17d2' into main
Sam Lantinga 5373ad6f 2022-10-23T16:35:18 Merge commit '2ebaafa6c9334071b664b15d045656250690dd96' into main
Sam Lantinga 7acab504 2022-10-23T16:35:15 Merge commit 'c3b13346e0a2200f1521cf064b9a602c8196e6a6' into main
Sam Lantinga f07673a1 2022-10-23T16:35:13 Merge commit 'd4d99e8c29da350379c991a8360d544d2c9eaa32' into main
Sam Lantinga d41fb3c4 2022-10-23T16:35:11 Merge commit 'cfd5d8eb29c8958de3333632a96032d3481816e5' into main
Sam Lantinga 9c7b9e08 2022-10-23T16:35:09 Merge commit '4ca5ea5b7e8333b2cde1b7cdddf167c67cc3f23c' into main
Sam Lantinga 86963509 2022-10-23T16:35:07 Merge commit '2dc788cb9ffa83a2840e62f5ad2d0a7055cfcb19' into main
Sam Lantinga e45ef5a6 2022-10-23T16:35:05 Merge commit '5b8f830e342b296d255969bbaec5a1a3522f1083' into main
Sam Lantinga 491d5949 2022-10-23T16:35:03 Merge commit '0e1d19cf680fc51635b3c52a9afa33fe03881bb5' into main
Sam Lantinga 26c9620a 2022-10-23T16:35:01 Merge commit 'a905a7869f18332579ff06ba3f7f3777708a3007' into main
Sam Lantinga e738cf80 2022-10-23T16:34:59 Merge commit '65a38a4015e54add093bdb3fbd2ad1cdc1770c72' into main
Sam Lantinga da4c9725 2022-10-23T16:34:57 Merge commit '3f1b5efccaa727745b335b546a42bd650694ca08' into main
Sam Lantinga b3ba8f40 2022-10-23T16:34:55 Merge commit '3d415bc5d61e625189ccca6348ff1b70c469e45c' into main
Sam Lantinga 2d3e21ab 2022-10-23T16:34:52 Merge commit 'f37db957f8c5d9de53bdd58b2a95a2da0937307d' into main
Sam Lantinga 8047ece1 2022-10-23T16:34:50 Merge commit '5ed091c12d4edefb366d78217b72cb75b563bfcd' into main
Sam Lantinga ef62b767 2022-10-23T16:34:48 Merge commit '0823b5973a28ebad2ca6d34058c12602bc8a69f0' into main
Sam Lantinga e5fe5221 2022-10-23T16:34:46 Merge commit '4264c0b67469896fced5ba8ac4c0e75acbb13ff1' into main
Sam Lantinga 57a98aa5 2022-10-23T16:34:44 Merge commit '96361fc476a9f0a91ac021133bb44e6d97b16f11' into main
Sam Lantinga b5712c1b 2022-10-23T16:34:42 Merge commit '11d53c84a7663d5a5861f3672990ca4b32376e3e' into main
Sam Lantinga 0d5fb2a0 2022-10-23T16:34:40 Merge commit '94ac8ae08b19210efedd0e73b0c60010fb9308a0' into main
Sam Lantinga be3dc1ac 2022-10-23T16:34:38 Merge commit 'c6e89619794ed6307f9efb0b242a2cdb605e1dc3' into main
Sam Lantinga 3bc84ace 2022-10-23T16:34:36 Merge commit 'd542f43b2aa23966913c08e4973793150e8073d0' into main
Sam Lantinga f20c2759 2022-10-23T16:34:34 Merge commit 'f28cf2b0d3fa6b4b9c692b0aa04f2875a09e0dfa' into main
Sam Lantinga 284df27b 2022-10-23T16:34:32 Merge commit 'e7ab581d796aa83f7d028ea4249fdc66600df173' into main
Thomas Cashman 8db3a338 2022-10-23T15:45:20 #6433 Fix WINRT_IsScreenKeyboardShown on Xbox
Sam Lantinga 413500ab 2022-10-22T09:37:34 Replaced mouseWheelGesture with GCMouse support on iOS (thanks @russelltg!) Fixes https://github.com/libsdl-org/SDL/issues/6411
Deve 2ebaafa6 2022-10-18T21:02:49 Use translationInView for mouse wheel event
Anonymous Maarten c3b13346 2022-10-21T18:32:53 On x86, pass -nodefaultlib to linker when wanting to avoid the C library
Simon McVittie d4d99e8c 2022-10-21T12:19:59 workflows: Check we can screen-scrape the SDL_REVISION from Linux builds Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie cfd5d8eb 2022-10-20T20:38:57 build: Regenerate ./configure Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie 4ca5ea5b 2022-10-20T20:02:21 build: Add a mechanism to mark builds with vendor info Downstream distributors can use this to mark a version with their preferred version information, like a Linux distribution package version or the Steam revision it was built to be bundled into, or just to mark it with the vendor it was built by or the environment it's intended to be used in. For instance, in Debian I'd use this by configuring with: --enable-vendor-info="${DEB_VENDOR} ${DEB_VERSION}" to get a SDL_REVISION like: release-2.24.1-0-ga1d1946dc (Debian 2.24.1+dfsg-2) which gives a Debian user enough information to track down the patches and build-time configuration that were used for package revision 2. In Autotools and CMake, this is a configure-time option like any other, and will go into both SDL_REVISION (via SDL_revision.h) and SDL_GetRevision(). In other build systems (MSVC, Xcode, etc.), defining the SDL_VENDOR_INFO macro will get it into the output of SDL_GetRevision(), although not SDL_REVISION. Resolves: https://github.com/libsdl-org/SDL/issues/6418 Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie 2dc788cb 2022-10-20T19:54:24 build: Expand version info in SDL_REVISION and SDL_GetRevision() Instead of using a URL and git sha1, this uses `git describe` to describe the version relative to the nearest previous git tag, which gives a better indication of whether this is a release, a prerelease, a slightly patched prerelease, or a long way after the last release during active development. This serves two purposes: it makes those APIs more informative, and it also puts this information into the binary in a form that is easy to screen-scrape using strings(1). For instance, if the bundled version of SDL in a game has this, we can see at a glance what version it is. It's also shorter than using the web address of the origin git repository and the full git commit sha1. Also write the computed version into a file ./VERSION in `make dist` tarballs, so that when we build from a tarball on a system that doesn't have git available, we still get the version details. For the Perforce code path in showrev.sh, output the version number followed by the Perforce revision, in a format reminiscent of `git describe` (with p instead of g to indicate Perforce). For the code path with no VCS available at all, put a suffix on the version number to indicate that this is just a guess (we can't know whether this SDL version is actually a git snapshot or has been patched locally or similar). Resolves: https://github.com/libsdl-org/SDL/issues/6418 Signed-off-by: Simon McVittie <smcv@collabora.com>
Sam Lantinga 5b8f830e 2022-10-22T09:24:28 Virtual joysticks don't need initial axis jitter protection Fixes https://github.com/libsdl-org/SDL/issues/6426
Ozkan Sezer 0e1d19cf 2022-10-22T18:56:40 fix build errors resulting from -Wmisleading-indentation
Sam Lantinga a905a786 2022-10-22T08:50:18 Clear the previous bitmap when calculating a new window shape Fixes https://github.com/libsdl-org/SDL/issues/6428
Ozkan Sezer 65a38a40 2022-10-22T14:28:10 hidapi, libusb: remove os/2 symbol load hack after os/2 loadso updates
Ozkan Sezer 3f1b5efc 2022-10-22T14:28:10 os2 loadso improvements: - SDL_LoadObject: upon failure, strip the .dll extension and retry, but only if module name has no path. - SDL_LoadFunction: upon failure, retry with an underscore prepended, e.g. for gcc-built dlls.
Ozkan Sezer 3d415bc5 2022-10-22T11:56:56 loadso, dlsym, SDL_LoadFunction: cleanup the underscored name path. - strlcpy was passed a wrong buffer length parameter. has worked so far by luck. - use memcpy instead of strlcpy for simplicity. - 'append' has been a typo: should be 'prepend'.
Brad Smith f37db957 2022-10-21T04:49:15 Use -lpthread on OpenBSD
Anonymous Maarten 5ed091c1 2022-10-21T15:32:05 cmake: fix reporting of SDL_TESTS
Anonymous Maarten 0823b597 2022-10-21T15:31:43 cmake: fix finding wayland-libdecor It was broken in 11d53c84a7663d5a5861f3672990ca4b32376e3e
Ozkan Sezer 4264c0b6 2022-10-21T11:21:40 os2: fix error message for SDL_LoadObject()