|
e4bb3c86
|
2022-05-11T18:13:44
|
|
wayland: Fix build for configs without libdecor
|
|
6222bd31
|
2022-05-11T16:26:43
|
|
wayland: Don't create a new libdecor context if one already exists
|
|
6f88cbe4
|
2022-05-11T16:04:34
|
|
wayland: Support xdg_decoration requesting client-side decorations.
Don't be fooled by the diff size - this ended up being a big refactor of the
shell surface management, masked only by some helper macros I wrote for the
popup support.
This change makes it so when xdg_decoration is supported, but CSD is requested,
the system bails on xdg support entirely and resets all the windows to use
libdecor instead. This transition isn't pretty, but once it's done it will be
smooth if decorations are an OS toggle since libdecor will take things from
there.
In hindsight, we really should have designed libdecor to be passed a toplevel,
having it manage that for us keeps causing major refactors for _every_ change.
|
|
d7866ffa
|
2022-05-11T19:39:30
|
|
assert: Check for integer overflow.
Move rendering of the assert message into a separate
function so we can remove the ugly loop construction.
Changes the logic such that allocation failure no longer
immediately returns SDL_ASSERTION_ABORT, instead we
fall back to the truncated message.
If an error is indicated from SDL_snprintf, then we do
abort with SDL_ASSERTION_ABORT.
|
|
9b75fa01
|
2022-05-11T18:31:34
|
|
N-Gage port: add changes from code reviews, overall cleanup (#5618)
* Add changes from code review by @ccawley2011, #5597, overall cleanup
* Update N-Gage README, minor cleanup and rephrasing
* Call SDL_SetMainReady() before calling SDL_main, return SDL_main instead of main
|
|
6da99d4a
|
2022-05-11T08:40:17
|
|
Don't use SDL_SIMDFree() if the pixels haven't been allocated with SDL_SIMDAlloc()
|
|
2f924020
|
2022-05-05T20:12:07
|
|
Add SDL_SCANCODE_CALL and SDL_SCANCODE_ENDCALL
|
|
2bc37362
|
2022-05-05T13:31:26
|
|
Add SDL_SCANCODE_SOFTLEFT and SDL_SCANCODE_SOFTRIGHT
|
|
f871c178
|
2022-05-10T17:32:24
|
|
macOS: remove dead code for supporting 10.6 at runtime.
|
|
f7280dce
|
2022-05-10T14:52:14
|
|
log: Check for integer overflow.
|
|
ec8fa577
|
2022-05-07T21:57:23
|
|
macOS: always use Objective-C ARC (automatic ref counting).
Change Cocoa SDL_VideoData and SDL_WindowData implementations from C structs to Objective-C objects, since bridging between C and ObjC is easier that way.
|
|
2a794801
|
2022-05-09T14:58:51
|
|
cpuinfo: Check for overflow in SIMD allocation
If the size to be allocated is very large and untrusted, then adding
the padding etc. might be enough to cause unsigned overflow, after
which a very small amount of memory will be allocated.
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|
cf1daafa
|
2022-05-09T18:48:46
|
|
cpuinfo: Set padding to 0 if none is needed
It'll be simpler to use overflow detection after this refactor.
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|
0e63b514
|
2022-05-07T14:52:35
|
|
Don't define memcpy(), memset() when using static VC runtime.
The linker will complain about duplicated symbols otherwise
(see #3662, #5156).
|
|
8cd908e0
|
2022-05-06T10:51:55
|
|
Fixed building with Visual Studio 2013
Added SDL_vacopy.h since it needs to be included after Windows headers
|
|
a3c1ca1f
|
2022-05-06T09:07:36
|
|
Added support for the Backbone One guide button
The guide button is activated on a long press (> 400ms)
|
|
fff97c95
|
2022-05-04T16:40:11
|
|
build: Mechanically generate ABI versions from version number
If we're strict about applying something resembling semantic versioning
to the "marketing" version number, then we can mechanically generate
the ABI version from it.
This limits the range of valid micro versions (patchlevels) to 0-99.
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|
cd7c2f1d
|
2022-05-03T15:16:11
|
|
Switch versioning scheme to be the same as GLib and Flatpak
For stable releases, this gives us the ability to make bugfix-only point
releases such as 2.24.1 if we want to, and distinguish between them
programmatically. For example, this ability could have been useful after
2.0.16 to fix Xwayland regressions, and after 2.0.18 to fix event loop
regressions.
For development releases, this gives us the ability to make multiple
prereleases during the same feature cycle, and distinguish between them
programmatically. For example, this would have been useful during 2.0.22
development, which went through three prereleases before reaching the
final release.
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|
63814ec7
|
2022-05-03T14:39:00
|
|
Add static assertions that the version number is consistent
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|
d4b82bfa
|
2022-05-03T13:17:59
|
|
Add static assertions for version numbers' limits
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|
b398a847
|
2022-05-03T23:21:10
|
|
Add SDL_FLOATWORDORDER for older ARM toolchains
|
|
adac3bd1
|
2022-05-03T12:31:50
|
|
video: restore ability to disable fb accel via hint
Somewhere in code refactoring between .20 and .22 this check
was lost, and so the hint had no effect anymore.
|
|
3f813cf1
|
2022-05-04T10:05:56
|
|
SDL_rawinputjoystick.c: fixed -Werror=declaration-after-statement
|
|
db9e14e5
|
2022-01-31T13:55:37
|
|
disabled linux joystick debugging outputs and reverted unnecessary comment edit
|
|
3b53555b
|
2022-01-28T14:53:28
|
|
copied default Steam Controller mapping for wired and wireless-dongle USB pids
|
|
13b1bf4f
|
2022-01-28T13:31:08
|
|
added default gamepad mapping for Steam Controller with new GUID (possibly caused by the firmware update to enable BLE?)
|
|
f7a19f9e
|
2022-01-14T13:14:42
|
|
relaxed the digital hat deadzone slightly, and fixed typo in DEBUG_GAMEPAD_MAPPING define
|
|
3696e23d
|
2022-01-14T10:45:16
|
|
added hints SDL_HINT_LINUX_DIGITAL_HATS and SDL_HINT_LINUX_HAT_DEADZONES to control the new Linux hat handling; added define DEBUG_GAMEPAD_MAPPINGS to log messages when generating default gamepad mapings for Linux joysticks
|
|
0b8e796e
|
2022-01-12T22:00:46
|
|
added hueristic to differentiate digital vs analog 'hat' input axes and expose the latter as regular axes; added automatic deadzones to hat outputs, in case analog axes are still mapped to digital hats; updated automatic gamepad control mapping to more completely follow the spec
|
|
fbd230bb
|
2022-05-03T17:51:49
|
|
Add support for the Nokia N-Gage (#5597)
* Add initial support for the Nokia N-Gage
* N-Gage: disable clipping for the time being, issue needs to be resolved later
* Move va_copy definition to SDL_internal.h
* Move stdlib.h include to SDL_config_ngage.h, much cleaner this way
* Remove redundant include, add HAVE_STDLIB_H
* Revert "N-Gage: disable clipping for the time being, issue needs to be resolved later"
This reverts commit 4f5f0fc36cc7f34fad05e45671dfa7b8dc32fd51.
* N-Gage: fix clipping issue by providing proper math functions
|
|
3fcc2cb5
|
2022-05-03T11:19:39
|
|
x11: get x1/x2 button state in GetGlobalMouseState
|
|
6150245d
|
2022-05-03T00:11:44
|
|
Add new verbosity level for logging of `SDL_SysWMEvent`s
Now logged only if SDL_HINT_EVENT_LOGGING is set to "3" or above.
|
|
d1a3981b
|
2022-05-02T15:22:46
|
|
Fix crash when reading background events for MFi controllers on macOS
Enabling GCController.shouldMonitorBackgroundEvents to read background events
for MFi controllers before receiving the first GCControllerDidConnectNotification
is apparently a no-go on macOS (12.3.1 for me), and would crash on attempt.
Apple's documentation is... not great, and doesn't point this out.
This waits for IOS_AddMFIJoystickDevice() to get called down the chain from GCControllerDidConnectNotification, and enables GCController.shouldMonitorBackgroundEvents
if it hadn't been already.
On iOS and tvOS, GCController.shouldMonitorBackgroundEvents is ignored, so
there's no need to check their versions.
|
|
bb0b6dd4
|
2022-05-02T20:12:13
|
|
Fixed using WGI without XInput
|
|
5394238c
|
2022-04-30T11:40:26
|
|
Don't include the internal header for a file intended for use by applications
|
|
9e5cbf03
|
2022-04-29T22:36:12
|
|
Disallow non-positive allocation.
Ensure that we're not trying to call SDL_small_alloc()
with a count of zero.
Transforming the code like this fixes a
-Wmaybe-uninitialized warning from GCC 12.0.1
|
|
6c2928b4
|
2022-04-29T19:30:47
|
|
Switch uses of MIN() to SDL_min()
We're excluding files in src/hidapi to minimize the
diff against the upstream project.
|
|
ca26df34
|
2022-04-29T16:44:32
|
|
assert: Allow messages of any length.
Messages are no longer truncated to SDL_MAX_LOG_MESSAGE.
|
|
88889924
|
2022-04-29T16:30:30
|
|
log: Allow log messages of any length.
Log messages are no longer truncated to SDL_MAX_LOG_MESSAGE.
|
|
645db217
|
2022-04-29T14:06:05
|
|
log: Use malloc for long messages.
For short messages, use a stack buffer that is
significantly smaller than SDL_MAX_LOG_MESSAGE.
The rationale for this is that we don't want to risk
blowing the stack, while at the same time we would
like to not put pressure on the memory allocator unless
absolutely necessary.
|
|
73448fe2
|
2022-04-29T14:05:15
|
|
assert: Remove use of alloca()
For short messages, use a stack buffer that is
significantly smaller than SDL_MAX_LOG_MESSAGE.
For larger messages, fall back to allocation.
|
|
97774cdf
|
2022-04-29T14:01:03
|
|
Move in va_copy() define block from stdlib.
|
|
7e636b03
|
2022-04-29T10:16:14
|
|
Removed log message length limitation for Apple platforms
This works in conjunction with https://github.com/libsdl-org/SDL/pull/5584
|
|
2ccb0dfd
|
2022-04-13T15:39:29
|
|
Check for macOS 10.16 to support apps built with older macOS SDKs
|
|
a0cdc1fc
|
2022-04-28T15:01:34
|
|
Added declaration of SDL_LogInit() and SDL_LogQuit()
Fixes compile warning on Android
|
|
29694869
|
2022-04-28T15:56:52
|
|
audio: Revert one of the resampler optimizations.
This is the one that splits the "left wing" into two for loops to
bubble out the conditional that decides if it should read from the
left padding or the input buffer.
I still believe the optimization is good, but the basic logic of it
was incorrect, and needs to be reexamined and fixed before going
back into revision control.
|
|
0f45a4e3
|
2022-04-27T12:22:37
|
|
log: Don't try to SDL_free the static array. :)
I shouldn't be allowed near computers, I swear.
|
|
31e83cd1
|
2022-04-27T12:13:44
|
|
log: Fixed build (sorry!)
|
|
fde9a708
|
2022-04-27T12:05:07
|
|
log: Make the message buffer static.
Now we don't have to worry about allocation failure, or performance
issues or changes to the allocation layout when trying to track down
subtle bugs.
|
|
c4141bc1
|
2022-04-27T09:39:24
|
|
log: Wrap the call to the logging implementation in a mutex.
Fixes #2463.
|
|
2a429522
|
2022-04-27T08:06:28
|
|
log: Don't stack-allocate the message buffer.
It's 4 kilobytes, so I could see this failing if you have a thread with
a tiny stack that unexpectedly logs something.
|
|
12f15aaa
|
2022-04-27T10:03:32
|
|
fix build
|
|
05bd225a
|
2022-04-26T23:14:44
|
|
x11: If XRandR isn't available, add a generic display.
We can get _some_ of the info we need out of standard Xlib and report a
single display (which might actually be multiple physical displays mushed
into a single desktop). This is better than nothing, but you should really
just build with XRandR support and get a better X server. :)
|
|
ccc70e64
|
2022-04-26T23:14:21
|
|
x11: Fixed some compiler warnings.
|
|
7d7ec9c9
|
2022-04-26T16:41:28
|
|
x11: Remove XVidMode and Xinerama support.
Fixes #1782.
|
|
e551384a
|
2022-04-26T14:54:14
|
|
Added functions to get the platform dependent name for a joystick or game controller
|
|
b293888c
|
2022-04-26T19:44:34
|
|
Fixes an issue introduced via #5573 when building for i686
|
|
5066910b
|
2022-04-10T13:44:01
|
|
audio: Make pregenerated resampler kaiser filter more precise.
|
|
111c3add
|
2022-04-10T13:23:51
|
|
audio: Resampler optimizations.
- Calculate `j * RESAMPLER_SAMPLES_PER_ZERO_CROSSING` once per loop
iteration since we use it multiple times.
- Do the left-wing loop in two sections: while `srcframe < 0` and then
the remaining calculations when `srcframe >= 0`. This bubbles a conditional
out of every iteration of a tight loop, giving us a boost. We could
_probably_ do this to the right-wing loop too, but it's less straightforward
there.
- The real win: Use floats instead of doubles. This almost doubles the speed
of the entire function on Intel CPUs, and for embedded things without
hardware-level support for doubles, the speedup is enormous. This in
theory might reduce audio quality, though, and I had to put a check in
place to avoid a division-by-zero that we avoided at higher precision, but
this is likely to be worth keeping for at least the Sony PSP and other
smaller platforms, if not everyone.
|
|
de019568
|
2022-04-09T23:43:57
|
|
audio: Prebake the resampler's kaiser table instead of doing it at runtime.
|
|
f6eb4b07
|
2022-04-26T13:14:15
|
|
pulseaudio: Feed audio data in response to write callbacks.
Instead of waiting until the entire buffer from the SDL callback is ready
to be accepted by PulseAudio, we use pa_stream_set_write_callback and
feed some portion of the buffer as callbacks come in asking for more.
This lets us remove the halving of the buffer size during device open,
and also (hopefully) solves several strange hangs that happen in unusual
circumstances.
Fixes #4387
Fixes #2262
|
|
01ef98a5
|
2022-04-26T10:19:03
|
|
Don't force keyboard auto-repeat on, if the user has disabled it for some reason
Fixes https://github.com/libsdl-org/SDL/issues/2400
|
|
795744fc
|
2022-01-07T10:11:46
|
|
Turn off relative mouse before window checks as well
|
|
e2d268a3
|
2022-01-06T23:42:44
|
|
SDL_cocoamouse.m: SetRelativeMouseMode even if out of focus
Should fix #3087
|
|
d7c07d6b
|
2022-04-27T00:57:17
|
|
Read motion sensor scale from Switch controllers (#5555)
* Read IMU scale data from Switch controllers. Up until now, SDL has used hard-coded scaling which isn't correct with some supported controllers.
* Moved declarations to beginning of code blocks to better fit with SDL style requirements
|
|
76afb858
|
2022-04-25T10:35:56
|
|
Introduces Cocoa_GetWindowDisplayIndex. This enable a proper management for dpi when switching between retina and non-retina displays.
|
|
c39df2fb
|
2021-12-22T18:27:10
|
|
joystick: get HID top-level collection preparsed data directly from RawInput API.
|
|
e9ff4fdd
|
2022-04-25T23:55:50
|
|
add SDL_bsearch
|
|
0b2a55ea
|
2022-02-02T14:58:33
|
|
Fix typo
|
|
3dcfe860
|
2022-02-02T13:59:49
|
|
Add joystick battery event
|
|
0964c84d
|
2022-02-02T11:21:32
|
|
Always use SDL_PrivateJoystickBatteryLevel to update battery level
But do not use it for initialisation.
|
|
fa29e2d7
|
2022-04-25T13:45:51
|
|
Updated to version 2.0.23 for development
|
|
53dea983
|
2022-04-25T13:51:15
|
|
x11: revert checks for _NET_WM_STATE_FULLSCREEN changes.
This reverts commit 85977354fbce9ecb2add660a88e6bec3532c3e26.
This reverts commit 0249df9d960f9bc28b476e1171c5501fc37cca12.
Fixes #5572.
Reopens #5390.
|
|
981e1e3c
|
2022-04-23T10:32:40
|
|
Fixed logical size synchronization issue on macOS
https://discourse.libsdl.org/t/sdl-2-0-22-prerelease/35306/6
|
|
7a574303
|
2022-04-23T20:01:40
|
|
hidapi, libusb: import mainstream commit 536bad201e
|
|
fa073ed0
|
2022-04-22T22:31:04
|
|
Revert "Fix relative mouse input for Unvanquished (unvanquished.net)"
This reverts commit 331859079674465a39b24f32a6a113959601dca3.
Fixes https://github.com/libsdl-org/SDL/issues/5569
|
|
8986efd6
|
2022-04-22T14:21:46
|
|
Added support for the Backbone One controller on iOS
|
|
2ca08378
|
2022-04-22T14:21:41
|
|
SDL: sometimes the PS5 controller doesn't report having to power even when connected over USB. Possibly related to being completely charged? Either way we already know that it's USB or BT so let's use the driver's knowledge instead.
|
|
04bf7c94
|
2022-04-22T09:36:39
|
|
Fixed build
|
|
d9b5805b
|
2022-04-22T09:12:48
|
|
Return a correlation error when trigger rumble is attempted without correlation
|
|
ba62ead5
|
2022-04-18T13:45:41
|
|
Handle potential out of memory condition when working with hints
|
|
145824f6
|
2022-04-21T01:38:53
|
|
WGI: Only call RoUninitialize() if RoInitialize() succeeded
|
|
00b2e10a
|
2022-04-20T20:58:29
|
|
WGI: Keep a reference to the MTA to avoid crashing on COM teardown
Fixes #5552
Fixes #5270
|
|
8982d9f4
|
2022-04-18T21:19:25
|
|
windows: Fix RoInitialize() failure after a CoInitializeEx() call using apartment threading
This mirrors the same codepath in WIN_CoInitialize() which handles STA and MTA.
|
|
923cb446
|
2022-04-20T21:02:40
|
|
windows: Fix calling convention for RoInitialize/RoUninitialize
Fixes #5563
|
|
d4a01bfe
|
2022-04-20T14:07:30
|
|
os2: SDL_DestroyMutex should ignore NULL mutexes.
Every other backend does this, so this should match, now.
It's possible this was harmless, but we can avoid the system call
and the (likely?) debug message when it fails, though!
|
|
a40405d7
|
2022-04-20T18:06:02
|
|
hidapi: Wrap CopyHIDDeviceInfo in define checks.
The purpose of this is to silence a 'defined but not used'
warning.
|
|
aeadbdd7
|
2022-04-20T09:00:00
|
|
Remove an unused function prototype
|
|
c8c59a21
|
2022-04-20T08:58:58
|
|
Fix a -Wshadow warning
|
|
d9009388
|
2022-04-19T14:55:58
|
|
SceKernelMemBlockType to unsigned int
|
|
3753a7b1
|
2022-04-19T14:42:39
|
|
Fix recent changes in VitaSDK
|
|
02225aa7
|
2022-04-18T22:57:03
|
|
Fixed build
|
|
49a2e4b0
|
2022-04-19T00:36:53
|
|
x11: Revert "Fix keymap updating for X11 backend"
This reverts commit de6d290266d1def0eef9df81bf9be41c12a98c61.
This patch had multiple issues, discussed in #5520.
|
|
b9fe6ba0
|
2022-04-18T13:08:04
|
|
Fixed compile warnings
|
|
57927a24
|
2022-04-18T12:57:28
|
|
Don't call scandir() inside of scandir()
This works around a crash in address sanitizer
|
|
1ede941f
|
2022-04-18T21:09:48
|
|
SDL_render.c: internally change viewport/cliprect type from SDL_FRect to SDL_DRect (double precision). (see bug #5547)
|
|
9919d1a7
|
2022-04-18T11:51:09
|
|
Remove HWND_TOPMOST for fullscreen windows
Fixes https://github.com/libsdl-org/SDL/issues/5509
|
|
009a0ff9
|
2022-04-12T14:33:12
|
|
use explicit GetModuleFileNameW
|
|
de711e16
|
2022-04-12T10:32:43
|
|
simplify SDL_GetBasePath on windows
- use GetModuleFileName directly (as recommended)
|
|
7c140429
|
2021-08-03T07:18:02
|
|
Enable evdev-based gamecontrollerdb on FreeBSD
|