Commit Graph

9460 Commits

Author SHA1 Message Date
Ryan C. Gordon
2f2c3afb05 SDL_internal: tweaked comment. 2024-05-22 20:55:28 -04:00
Ryan C. Gordon
48ebc829e4 thread: Fix build, if SDL is built without an external C runtime.
Fixes #9858.
2024-05-22 20:46:44 -04:00
Ryan C. Gordon
25024ea295 windows: Before SDL_main has run, use WideCharToMultibyte, not SDL_iconv.
Otherwise, this will crash if the app sets its own SDL_malloc allocator, since
SDL_iconv uses SDL_malloc.

WideCharToMultibyte lets us calculate the needed memory for the argv[] string
conversions, and then we use the win32 HeapAlloc() API to get some memory
for it.

Fixes #8967.
2024-05-22 20:08:15 -04:00
Ryan C. Gordon
b83bb035e6 thread: SDL_CreateThreadWithStackSize is now SDL_CreateThreadWithProperties. 2024-05-22 11:39:43 -04:00
Ryan C. Gordon
0ec716819e thread: Reworked SDL_CreateThread to be consistent across platforms.
Also documented missing and weird bits, rename typedefs to fit SDL standards.
2024-05-22 11:39:43 -04:00
Frank Praznik
1f89c407e0 win32: Fix maximized windows when leaving fullscreen
If a window is fullscreen and the maximized state is requested, it needs to be explicitly entered after leaving fullscreen, or the resulting window will be in the maximized state, but still the size of the non-maximized window.
2024-05-21 18:57:55 -04:00
Anonymous Maarten
2123b84fbe SDL_test: add --hide-cursor to help 2024-05-21 22:56:29 +02:00
Dragon-Baroque
05fb91c7b4 TESTWM : Option and Keyboard action to ShowCursor and HideCursor
In include/SDL3/SDL_test_common.h
   Add flag hide_cursor
In src/test/SDL_test_common.c
   Handle option --hide-cursor to SDL_HideCursor
   Handle Ctrl-h toggle to SDL_HideCursor and SDL_ShowCursor
2024-05-21 13:49:35 -07:00
Sam Lantinga
f9260a8470 Added an entry for the 8Bitdo Ultimate Wired Controller 2024-05-20 16:44:45 -07:00
Sam Lantinga
5aecd40683 Try to center windows in the usable bounds if they fit
Fixes https://github.com/libsdl-org/SDL/issues/3480
2024-05-20 15:00:26 -07:00
Ryan C. Gordon
78a36830f8 video: Remove MMX codepath from SDL_BlitCopy.
It was only used if SSE wasn't supported (available since the Pentium III in
1999), or the data was aligned to 8 bytes but not aligned to 16 bytes.

The likelihood of ever hitting this codepath seems extremely low.
2024-05-20 16:37:41 -04:00
Susko3
9d03ff6c18 Decrement before as the code makes more sense 2024-05-20 11:08:19 -07:00
Susko3
9458dc07dc Fix double-free on cleanup and general nonsense when deleting fingers 2024-05-20 11:08:19 -07:00
Frank Praznik
4d32f66fe7 wayland: Don't destroy and recreate the confinement region with window size changes
The spec says that an undefined confinement region should match the input region, so it is resized automatically.

This was a hack for a very old, buggy compositor and is no longer needed.
2024-05-19 10:23:31 -04:00
Frank Praznik
18513d1ce8 wayland: Scale mouse warp coordinates
Fixes warp positioning with scaled windows.
2024-05-18 10:00:53 -04:00
Frank Praznik
b1e01b971b video: Disable mouse warp on fullscreen transitions for Wayland and XWayland
At best, it simply doesn't work, and if it does, it frequently warps the pointer to the wrong position as the window animates in/out of fullscreen mode.

It can also inadvertently trigger the relative warp mode emulation mode on Wayland if a fullscreen transition occurs while the client has the pointer hidden.
2024-05-18 10:00:53 -04:00
Sam Lantinga
6f2621438a Renamed DECLSPEC to SDL_DECLSPEC 2024-05-17 17:09:09 -07:00
Sam Lantinga
2cf32b0e0a Fixed warning: 'fA' may be used uninitialized in this function 2024-05-17 09:42:38 -07:00
APGR22
961488b0dc Added NULL pointer check 2024-05-17 08:54:28 -07:00
Brick
09fbb2a07d WASAPI_WaitDevice: Check current padding before waiting on event
During playback, don't queue another buffer unless there are none in the queue.

During capture, there may be multiple buffers of audio available.
WASAPI_CaptureFromDevice only processes one buffer, and if we always wait on the next event, we will never catch up if it falls behind.
2024-05-17 14:46:20 +01:00
Anonymous Maarten
18225f7bb5 libSDL3_test: don't remove windows and renders when quiting
This fixes a "DEBUG: Parameter 'texture' is invalid" message when exiting testcamera.
2024-05-17 14:39:29 +02:00
Anonymous Maarten
a7d4ee05f6 video: hide window before destroying properties
This fixes a few "DEBUG: Parameter 'props' is invalid" messages, when exiting testcamera.
2024-05-17 14:39:29 +02:00
Brick
b6b9d5508e Renamed SDL_MixAudioFormat to SDL_MixAudio, and use float volume 2024-05-17 13:36:51 +01:00
Sam Lantinga
5c4b558c1c Dynamic API symbol cleanup 2024-05-16 23:18:41 -07:00
Ozkan Sezer
f295f6814c fix type redefinition errors after #9817 2024-05-17 07:28:50 +03:00
Ali Emre Gülcü
f17b556c76 Add SDL_Vulkan_DestroySurface functionality (#9817)
Added SDL_Vulkan_DestroySurface, its documentation and corresponding platform specific implementations. Fixed some header inclusion orders to improve consistency between platforms. Added TODOs regarding MetalView creation and destruction which will benefit from the new functionality.
2024-05-16 17:41:15 -07:00
Sam Lantinga
c24f860c4d Fixed warning C4244: '=': conversion from 'int' to 'Uint8', possible loss of data 2024-05-16 11:28:02 -07:00
Sam Lantinga
abfd0dc683 Added SDL_HINT_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL 2024-05-16 11:23:29 -07:00
Sam Lantinga
730fa2c379 Re-sorted API functions 2024-05-16 10:22:15 -07:00
Sam Lantinga
02ff85f2f3 Renamed SDL_SIMDGetAlignment() to SDL_GetSIMDAlignment() 2024-05-16 10:22:15 -07:00
Sam Lantinga
4609af618a Updated logging functions for SDL3 naming convention 2024-05-16 10:22:15 -07:00
Frank Praznik
67f3a3ee54 wayland: Disable warp emulation when restoring cursor visibility with the shape protocol 2024-05-16 12:53:54 -04:00
Frank Praznik
9ac523f940 wayland: Set the cursor visibility flag when using the cursor shape protocol 2024-05-16 11:59:10 -04:00
Sam Lantinga
558630d59c Use ALooper_pollOnce() instead of ALooper_pollAll()
The structure of the existing loop makes the inner loop of the previous commit unnecessary.
2024-05-16 07:53:18 -07:00
Sam Lantinga
7843579358 Revert "Fixed bug #9792 - Android: build failure with ndk 27-beta1 due to use of deprecated ALooper_pollAll"
This reverts commit ee16d2f705.

@madebr's change was simpler and correct.
2024-05-16 07:52:32 -07:00
Sylvain
ee16d2f705 Fixed bug #9792 - Android: build failure with ndk 27-beta1 due to use of deprecated ALooper_pollAll
replace ALooper_pollAll by ALooper_pollOnce
2024-05-16 07:49:54 -07:00
Anonymous Maarten
027856b9fa Revert changes to SDL_androidsensor.c 2024-05-16 16:47:25 +02:00
Anonymous Maarten
88980aeb21 android+test: testcamera needs CAMERA permissions 2024-05-16 16:43:53 +02:00
Oleg
79cabeef18 Added Moza wheelbases VID/PID to wheel devices list 2024-05-15 19:37:30 -07:00
Oleg
dc9d9dd85a Added Simucube wheelbases VID/PID to wheel devices list 2024-05-15 19:37:30 -07:00
Oleg
ce9177b64f Added Cammus C5 wheelbase VID/PID to wheel devices list 2024-05-15 19:37:30 -07:00
Sam Lantinga
fd678ff50f Fixed SDL capitalization 2024-05-15 14:53:52 -07:00
Green Sky
0ee874f02d fix pipewire camera interval fraction inversion
SDL expects an interval fraction to be provided by the backend, but
pipewire provides a framerate fraction, we we just switch them.
2024-05-15 14:42:45 -07:00
Sam Lantinga
661f2fc1fc Removed the SDL_Version structure, moved SDL version to SDL.h
Inspired by https://github.com/libsdl-org/SDL/issues/9788
2024-05-15 10:43:31 -07:00
Sam Lantinga
863a9029ae Added SDL_GlobFlags 2024-05-14 07:13:35 -07:00
Sam Lantinga
92301ae8a3 Fixed whitespace 2024-05-13 21:52:42 -07:00
Sam Lantinga
84fa11f740 Added missing events in SDL event logging
Also improved formatting for unknown events
2024-05-13 21:01:01 -07:00
Sam Lantinga
be786aeb9d Fixed assertion, it's possible for the OS to grant permissions we haven't asked for. 2024-05-13 19:42:54 -07:00
Frank Praznik
df3fea87d6 wayland: Rework scale-to-display
This extends the display scaling mode to be global and work in terms of pixels everywhere, with the content scale value set on displays. The per-window property had some issues, and has been removed in favor of retaining only the global hint that changes all coordinates to pixel values, sets the content scale on the displays, and generally makes the Wayland backend behave similarly to Win32 or X11.

Some additional work was needed to fix cases where displays can appear to overlap, since Wayland desktops are always described in logical coordinates, and attempting to adjust the display positions so that they don't overlap can get very ugly in all but the simplest cases, as large gaps between displays can result.
2024-05-13 19:10:19 -04:00
Sam Lantinga
5f1e01cce0 Added support for late swap tearing to the Vulkan renderer 2024-05-13 15:06:11 -07:00