tag:github.com,2008:/libsdl-org/SDL/commits/mainRecent Commits to SDL:main2024-03-30T06:13:15Ztag:github.com,2008:Grit::Commit/335fa5d6e4c84fff79243d591468db80b54cff0d
Disable SDL dialogs for tvOS and iOS
2024-03-30T06:13:15Zsemphris@protonmail.com
<pre style='white-space:pre-wrap;width:81ex'>Disable SDL dialogs for tvOS and iOS</pre>
tag:github.com,2008:Grit::Commit/72cf9c0ef4936e0979f21832a5027b7b5068a6b3
test: don't run testautomation in parallel
2024-03-29T20:11:35Zmadebrhttps://github.com/madebr
<pre style='white-space:pre-wrap;width:81ex'>test: don't run testautomation in parallel</pre>
tag:github.com,2008:Grit::Commit/96c93d225218d04b09e16a3375f7d9fa9a838d4e
Sync SDL3 wiki -> header
2024-03-29T19:02:25ZSDLWikiBothttps://github.com/SDLWikiBot
<pre style='white-space:pre-wrap;width:81ex'>Sync SDL3 wiki -> header</pre>
tag:github.com,2008:Grit::Commit/49029c8454089fd8eabc03ba814dae4346ef9530
stdinc: Document a bunch of ctype/string functions.
2024-03-29T19:01:40Zicculushttps://github.com/icculus
<pre style='white-space:pre-wrap;width:81ex'>stdinc: Document a bunch of ctype/string functions.
This is intended to help codify the rules for locale and Unicode in SDL3,
which were less-well defined in SDL2.</pre>
tag:github.com,2008:Grit::Commit/a5c892d2c3822aeb77494acb5c9c0adb661b5879
stdlib: Improve Unicode support and consistency in string comparison …
2024-03-29T19:01:40Zicculushttps://github.com/icculus
<pre style='white-space:pre-wrap;width:81ex'>stdlib: Improve Unicode support and consistency in string comparison functions.
SDL_strcasecmp (even when calling into a C runtime) does not work with
Unicode chars, and depending on the user's locale, might not work with
even basic ASCII strings.
This implements the function from scratch, using "case-folding,"
which is a more robust method that deals with various languages. It
involves a hashtable of a few hundred codepoints that are "uppercase" and
how to map them to lowercase equivalents (possibly increasing the size of
the string in the process). The vast majority of human languages (and
Unicode) do not have letters with different cases, but still, this static
table takes about 10 kilobytes on a 64-bit machine.
Even this will fail in one known case: the Turkish 'i' folds differently
if you're writing in Turkish vs other languages. Generally this is seen as
unfortunate collateral damage in cases where you can't specify the language
in use.
In addition to case-folding the codepoints, the new functions also know how
to decode the various formats to turn them into codepoints in the first
place, instead of blindly stepping by one byte (or one wchar_t) per
character.
Also included is casefolding.txt from the Unicode Consortium and a perl
script to generate the hashtable from that text file, so we can trivially
update this if new languages are added in the future.
A simple test using the new function:
```c
#include <SDL3/SDL.h>
int main(void)
{
const char *a = "α ε η";
const char *b = "Α Ε Η";
SDL_Log(" strcasecmp(\"%s\", \"%s\") == %d\n", a, b, strcasecmp(a, b));
SDL_Log("SDL_strcasecmp(\"%s\", \"%s\") == %d\n", a, b, SDL_strcasecmp(a, b));
return 0;
}
```
Produces:
```
INFO: strcasecmp("α ε η", "Α Ε Η") == 32
INFO: SDL_strcasecmp("α ε η", "Α Ε Η") == 0
```
glibc strcasecmp() fails to compare a Greek lowercase string to its uppercase
equivalent, even with a UTF-8 locale, but SDL_strcasecmp() works.
Other SDL_stdinc.h functions are changed to be more consistent, which is to
say they now ignore any C runtime and often dictate that only English-based
low-ASCII works with them.
Fixes Issue #9313.</pre>
tag:github.com,2008:Grit::Commit/4659a84bd1aebeeeac94793afb046a4059e8366d
coreaudio: fix race condition when closing an input device.
2024-03-29T04:55:38Zicculushttps://github.com/icculus
<pre style='white-space:pre-wrap;width:81ex'>coreaudio: fix race condition when closing an input device.</pre>
tag:github.com,2008:Grit::Commit/2fd94476703002514e339fba876800b605692406
coreaudio: Make sure device handles are unique.
2024-03-29T04:45:00Zicculushttps://github.com/icculus
<pre style='white-space:pre-wrap;width:81ex'>coreaudio: Make sure device handles are unique.
AudioDeviceID is not unique (hardware that can do both capture and output
will expose both interfaces off the same AudioDeviceID!).</pre>
tag:github.com,2008:Grit::Commit/87235e0f6db1ad760fe4119ce44a8dc9d89af6ef
Fixed detecting CoreAudio devices that have both capture and output e…
2024-03-29T01:35:42Zsloukenhttps://github.com/slouken
<pre style='white-space:pre-wrap;width:81ex'>Fixed detecting CoreAudio devices that have both capture and output endpoints</pre>
tag:github.com,2008:Grit::Commit/af5728b94d21ee23e3e6ab15e12430a15d33fbf0
Fixed event handle accumulation when the SDL window doesn't have focus
2024-03-28T22:11:45Zsloukenhttps://github.com/slouken
<pre style='white-space:pre-wrap;width:81ex'>Fixed event handle accumulation when the SDL window doesn't have focus
This also fixes a crash on shutdown caused by the raw input thread failing to stop</pre>
tag:github.com,2008:Grit::Commit/6d37f4798e4d957ffd8e8ef9059cdebb2b323c92
SDL_pen.c: release pen mutex on error return
2024-03-28T20:37:54Zcreichenhttps://github.com/creichen
<pre style='white-space:pre-wrap;width:81ex'>SDL_pen.c: release pen mutex on error return</pre>
tag:github.com,2008:Grit::Commit/d785a647a4bf37616b8296334bffcc7e79588564
Fix 'SyntaxWarning: invalid escape sequence' when running gendynapi.py
2024-03-28T20:21:26ZSusko3https://github.com/Susko3
<pre style='white-space:pre-wrap;width:81ex'>Fix 'SyntaxWarning: invalid escape sequence' when running gendynapi.py</pre>
tag:github.com,2008:Grit::Commit/6cf71ca9a9054b41222dfe67d26f98bda8b2a180
SDL_stdinc.h: Android passes sizeof(ENUM) == sizeof(int) assertion
2024-03-28T17:28:02Zsezerohttps://github.com/sezero
<pre style='white-space:pre-wrap;width:81ex'>SDL_stdinc.h: Android passes sizeof(ENUM) == sizeof(int) assertion
Reference issue: https://github.com/libsdl-org/SDL/issues/9392 .</pre>
tag:github.com,2008:Grit::Commit/47378eddf65b99e09be87c8e6e9f91e0734d9906
Fixed error: ordered comparison of pointer with integer zero
2024-03-28T16:34:48Zsloukenhttps://github.com/slouken
<pre style='white-space:pre-wrap;width:81ex'>Fixed error: ordered comparison of pointer with integer zero</pre>
tag:github.com,2008:Grit::Commit/0aa1022358e09e6bb22a1087c51a10c954a8ab18
Clarify that SDL_SetWindowKeyboardGrab() is only needed if you set SD…
2024-03-28T16:25:22Zsloukenhttps://github.com/slouken
<pre style='white-space:pre-wrap;width:81ex'>Clarify that SDL_SetWindowKeyboardGrab() is only needed if you set SDL_HINT_GRAB_KEYBOARD</pre>
tag:github.com,2008:Grit::Commit/fc81d4e5fcba6895f8ad3553bbd60b374537456c
Fixed 64-bit conversion warnings
2024-03-28T16:12:26Zsloukenhttps://github.com/slouken
<pre style='white-space:pre-wrap;width:81ex'>Fixed 64-bit conversion warnings</pre>
tag:github.com,2008:Grit::Commit/c8489a3710fdf9ee3c5f09df0b3a3c439513a952
Disable XInput2 keyboard events
2024-03-28T15:50:47Zsloukenhttps://github.com/slouken
<pre style='white-space:pre-wrap;width:81ex'>Disable XInput2 keyboard events
It turns out they're only delivered to the window with mouse focus, not keyboard focus.
Fixes https://github.com/libsdl-org/SDL/issues/9374</pre>
tag:github.com,2008:Grit::Commit/fb5307c1b3f46e70217ce43c0dbab4d3795bd91b
Vulkan Renderer - fix synchronization validation issues with testrend…
2024-03-28T14:37:49Zdanginsburg@upsamplesoftware.com
<pre style='white-space:pre-wrap;width:81ex'>Vulkan Renderer - fix synchronization validation issues with testrendertarget and testcopyex. When a texture is destroyed, VULKAN_IssueBatch is called to make sure the texture isn't referenced in any outstanding command work. This path did not wait on the semaphore from vkAcquireNextImageKHR, which would create a hazard.</pre>
tag:github.com,2008:Grit::Commit/0d007bbb014311542f28dd83704a649ce4eaed75
psp: Fixed building with pspdev when not using CMake.
2024-03-28T13:27:21Zicculushttps://github.com/icculus
<pre style='white-space:pre-wrap;width:81ex'>psp: Fixed building with pspdev when not using CMake.
(psp-cmake defines `__PSP__` on the command line, but the compiler itself
only defines `__psp__` and some variations.
Fixes #9378.</pre>
tag:github.com,2008:Grit::Commit/ad92c9e30093676a3fd84d1974b821857d8bae58
README-main-functions.md: Added notes about the new `appstate` parame…
2024-03-28T03:04:36Zicculushttps://github.com/icculus
<pre style='white-space:pre-wrap;width:81ex'>README-main-functions.md: Added notes about the new `appstate` parameter.</pre>
tag:github.com,2008:Grit::Commit/7a9f99cff34c3c170736be702cc199ce214df642
Corrected migration documentation for SDL_GetDisplayDPI()
2024-03-28T01:27:57Zsloukenhttps://github.com/slouken
<pre style='white-space:pre-wrap;width:81ex'>Corrected migration documentation for SDL_GetDisplayDPI()
Fixes https://github.com/libsdl-org/SDL/issues/9386</pre>