Commit Graph

16902 Commits

Author SHA1 Message Date
Sam Lantinga
3db4695ac7 warning C6340: Mismatch on sign: 'unsigned int' passed as _Param_(3) when some signed type is required in call to 'SDL_LogDebug_REAL'. 2023-12-05 09:31:13 -08:00
Sam Lantinga
c7d81d936a Fixed warning C6031: Return value ignored: 'GetKeyboardState'. 2023-12-05 09:31:13 -08:00
Sam Lantinga
69b9d44bdc Fixed warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). 2023-12-05 09:31:13 -08:00
Sam Lantinga
a9b87ee201 Fixed warning C28159: Consider using 'GetTickCount64' instead of 'GetTickCount'. Reason: GetTickCount overflows roughly every 49 days. Code that does not take that into account can loop indefinitely. GetTickCount64 operates on 64 bit values and does not have that problem 2023-12-05 09:31:13 -08:00
Sam Lantinga
21f273ecc7 Fixed warning C6255: _alloca indicates failure by raising a stack overflow exception. Consider using _malloca instead. 2023-12-05 09:31:13 -08:00
Sam Lantinga
0c4cb3d153 Fixed warning C26451: Arithmetic overflow: Using operator '<<' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '<<' to avoid overflow (io.2). 2023-12-05 09:31:13 -08:00
Sam Lantinga
06f8f9a891 Fixed warning C6326: Potential comparison of a constant with another constant.
Also fixed warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>.  Did you intend to use the bitwise-and operator?
2023-12-05 09:31:13 -08:00
Sam Lantinga
3e54061fa8 Fixed warning C6011: Dereferencing NULL pointer 'SDL_disabled_events[hi]'. 2023-12-05 09:31:13 -08:00
Sam Lantinga
226f8fde09 Fixed warning C28182: Dereferencing NULL pointer. 'streams[j]' contains the same NULL value as 'stream' did. 2023-12-05 09:31:13 -08:00
Sam Lantinga
fe6b3ab0b0 Fixed warning C6031: Return value ignored: 'CLSIDFromString'. 2023-12-05 09:31:13 -08:00
Sam Lantinga
f3b0149756 Fixed warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). 2023-12-05 09:31:13 -08:00
Sam Lantinga
6cfce101fb Don't call the property cleanup function if setting the property fails
Fixes https://github.com/libsdl-org/SDL/issues/8659
2023-12-04 07:48:13 -08:00
Sam Lantinga
14380ec48a Fixed signed/unsigned comparison warning 2023-12-03 15:07:08 -08:00
Sam Lantinga
ac0751a652 Added SDL_strnstr() 2023-12-03 15:06:46 -08:00
Sylvain
7c71e72193 SDL_render: Call InvalidateCachedState to initialise some of driverdata values (eg '*_dirty' to 1).
At the earliest place, immediatly after driverdata is set.
(Doing it in SDL_render.c, after creation, would be too late, because there're renderers that already use/change those values in the CreateRender() function).
2023-12-02 21:42:17 +01:00
Sam Lantinga
058213366b Make sure we use alpha of 0 when clearing a transparent window with no content 2023-12-01 10:51:54 -08:00
Sam Lantinga
ecd56bb8f0 Removed SDL_GetErrorMsg(), trivially implemented in application code 2023-12-01 09:08:23 -08:00
Sam Lantinga
66e532fa61 Handle out of memory errors without any allocation 2023-12-01 09:05:04 -08:00
foobit
579681a372 fixed SDL_SCANCODE_LEFT array position in scancodes_windows.h 2023-12-01 08:24:13 -08:00
SDL Wiki Bot
675423f096 Sync SDL3 wiki -> header 2023-12-01 06:39:09 +00:00
Dimitriy Ryazantcev
744a29b88f WGI: Cleanup code a bit (#8647) 2023-11-30 11:53:00 -08:00
SDL Wiki Bot
e4582e6edc Sync SDL3 wiki -> header 2023-11-30 15:22:19 +00:00
Ryan C. Gordon
df0fd55891 wikiheaders.pl: README files are no longer in Windows endline format. 2023-11-30 10:10:04 -05:00
Ryan C. Gordon
1072b6e86e docs: fixed typo 2023-11-30 10:08:23 -05:00
Ryan C. Gordon
f184dea16c uikit: Patched to compile. 2023-11-30 00:27:17 -05:00
Ryan C. Gordon
447b508a77 error: SDL's allocators now call SDL_OutOfMemory on error.
This means the allocator's caller doesn't need to use SDL_OutOfMemory directly
if the allocation fails.

This applies to the usual allocators: SDL_malloc, SDL_calloc, SDL_realloc
(all of these regardless of if the app supplied a custom allocator or we're
using system malloc() or an internal copy of dlmalloc under the hood),
SDL_aligned_alloc, SDL_small_alloc, SDL_strdup, SDL_asprintf, SDL_wcsdup...
probably others. If it returns something you can pass to SDL_free, it should
work.

The caller might still need to use SDL_OutOfMemory if something that wasn't
SDL allocated the memory: operator new in C++ code, Objective-C's alloc
message, win32 GlobalAlloc, etc.

Fixes #8642.
2023-11-30 00:14:27 -05:00
Ryan C. Gordon
70b65d4170 cocoa: Resync modifier keypressed on NSEventTypeFlagsChanged event.
Fixes #7507.
2023-11-29 21:38:41 -05:00
Ryan C. Gordon
d1b831e232 include: Clarified documentation for two functions. 2023-11-29 20:50:44 -05:00
Ryan C. Gordon
daa38dc793 touch: Replace GetNumTouchDevices/GetTouchDevice with a single function.
Now it returns an array and optional count, to match other SDL3 APIs.

SDL_GetTouchName() was replaced with a function that takes an instance ID
instead of an index, too.
2023-11-29 20:50:44 -05:00
Ryan C. Gordon
dd47da8a5c gamepad: Replace GetNumMappings/GetMappingByIndex with a single function.
Now it returns an array and optional count, to match other SDL3 APIs.
2023-11-29 20:50:44 -05:00
Ryan C. Gordon
dfee3f9e92 render: Replaced SDL_RenderFlush with SDL_FlushRenderer.
This uses the same `SDL_VerbNoun` format as the rest of SDL3, and also
adds stronger effort to invalidate cached state in the backend, so cooperation
improves with apps that are using lowlevel rendering APIs directly.

Fixes #367.
2023-11-29 14:24:26 -05:00
Ryan C. Gordon
eef5c53668 docs: Moved CREDITS and INSTALL to markdown format. 2023-11-29 12:31:27 -05:00
Ryan C. Gordon
f32575dfab docs: Convert everything to Unix-style endlines.
Fixes #8640.
2023-11-29 11:29:57 -05:00
Ryan C. Gordon
c5daf8adb1 testcontroller: Don't query the mapping list until after they are available.
The included ones need to wait until SDL_Init has run, or you'll get an empty
list, and we might also be adding more from an external gamecontrollerdb.txt
file, too.
2023-11-29 10:33:31 -05:00
Cameron Cawley
df05d5eff4 Fix scroll wheel handling in testmouse 2023-11-28 14:41:16 -08:00
Ozkan Sezer
63d4bd4e57 SDL_SendKeyboardText: remove workaround from 1e12d7c, fix use of iscntrl 2023-11-29 00:39:24 +03:00
Anonymous Maarten
fea6e7afb1 cmake: copy sources to binary directory in separate target
Don't do it in POST_BUILD to avoid multiple parallel builds
stepping on each others toes.
Also don't use copy_if_different, but unconditionally copy it.
The build system should take care of dependencies.
2023-11-28 22:16:54 +01:00
Dimitriy Ryazantcev
9faa7977bd UWP: Add support for supplementary Unicode characters input
Characters outside Basic Multilingual Plane (BMP) are coded as so called "surrogate pair" in two separate UTF-16 character events.
2023-11-28 12:33:21 -08:00
Dimitriy Ryazantcev
7b628ea4d5 Win32: Simplify Unicode text input code 2023-11-28 12:33:21 -08:00
Sam Lantinga
411c70abb1 Fix the target membership of SDL_pen.h (thanks kanjitalk755!)
Closes https://github.com/libsdl-org/SDL/pull/8599
2023-11-28 12:20:43 -08:00
shenleban tongying
3e6513c773 document the purpose of SDL_SetTextInputRect 2023-11-28 12:06:16 -08:00
Sam Lantinga
1e12d7cfb6 Make sure we don't pass UTF-8 to SDL_iscntrl()
This function is only valid for values <= 127.

Closes https://github.com/libsdl-org/SDL/pull/8637
2023-11-28 11:39:35 -08:00
Dimitriy Ryazantcev
9a206adbee UWP: Use Windows.UI.Core.CoreDispatcher.AcceleratorKeyActivated event for keyboard
Only in this case we can see Left Alt and Right Alt keys.

Stole the idea from DirectXTK12 repo:
https://github.com/microsoft/DirectXTK12/blob/main/Src/Keyboard.cpp
2023-11-28 11:31:19 -08:00
Dimitriy Ryazantcev
309ea2d5f9 UWP: Simplify Win32 scan code to SDL scan code mapping 2023-11-28 11:31:19 -08:00
Dimitriy Ryazantcev
acc5bb89f8 [Win32] Better keyboard button mapping to SDL scan codes
Using official mappings from the Microsoft docs:
https://learn.microsoft.com/windows/win32/inputdev/about-keyboard-input#scan-codes
2023-11-28 11:31:19 -08:00
Dimitriy Ryazantcev
6b28065e9e Reformat Win32 scan code table 2023-11-28 11:31:19 -08:00
Dimitriy Ryazantcev
7e86b6aef2 Win32: Fix keymap for keyboard layouts that can print UTF-16 surrogates and ligatures
Old implementation with `MapVirtualKey(..., MAPVK_VK_TO_CHAR) & 0x7FFFF` simply returned `A`..`Z` for VK_A..VK_Z and
completely useless <U+0002 START OF TEXT> (`WCH_LGTR 0xF002` without high-order bit) in case of ligature.

See https://kbdlayout.info/features/ligatures for a list of affected keyboard layouts.
More info on `MAPVK_VK_TO_CHAR`: https://stackoverflow.com/a/72464584/1795050
2023-11-28 11:11:33 -08:00
Ryan C. Gordon
08c6ac1b16 test: SDLTest_PrintEvent now reports key event mod state.
(cherry picked from commit d42fa25a9e)
2023-11-28 13:11:57 -05:00
Sam Lantinga
571e9796b9 Fixed the GameCube HIDAPI controller mapping
Fixes https://github.com/libsdl-org/SDL/issues/8617
Closes https://github.com/libsdl-org/SDL/pull/8623
Closes https://github.com/libsdl-org/SDL/pull/7930
2023-11-28 10:07:06 -08:00
Sam Lantinga
dd984dcd9f Removed HIDAPI controller mappings
These are already provided internally by SDL
2023-11-28 09:54:35 -08:00