This commit fixes a regression introduced by c44fa5bb
The evdev backend currently uses high_res_hwheel to select the
normalization denominator for both horizontal and vertical wheel
events.
This causes devices which advertise REL_WHEEL_HI_RES but not
REL_HWHEEL_HI_RES to report vertical wheel movement 120 times
larger than intended.
Use the corresponding high-resolution capability independently for
each axis, restoring the behavior before c44fa5bb.
SDL_QueryGPUFence is documented to return true when the fence is signaled (complete). Since 514b26e it returns METAL_INTERNAL_IsFenceBusy directly, so it returns true when the fence is still busy, breaking usage of SDL_AcquireGPUSwapchainTexture.
- Add VID/PID and button mapping for Tarantula 8K
- Remove outdated joystick dead zone algorithm, pass raw data directly
- Correct naming of extension keys
These functions were declared in the SDL_waylanddatamanager.h header, but the implementations were in SDL_waylandevents.c
Move the implementations to the SDL_waylanddatamanager.c source file, where one would expect to find them.
if setDecorFitsSystemWindows is done too late, then the initial window size won't be the right size.
Zeroing the safe zone is nonsense, as it's handled correctly elsewhere.
Some tiling compositors will set the maximized state and set their own, preferred dimensions, even if the window is flagged as non-resizable, and the min/max limits are properly set. The spec says that the configure size must be obeyed in the maximized state, so, in these odd cases, use a viewport to make the content fit within the configure dimensions.
When HAVE_GETRESUID/HAVE_GETRESGID are not defined, SDL_waylandvideo.c defines
static inline fallbacks using the libc names. glibc declares both functions
non-static in <unistd.h>, so on a toolchain where the feature checks fail while
those declarations are still visible the file fails to compile:
error: static declaration of 'getresuid' follows non-static declaration
Give the fallbacks SDL-private names and call those, so a fallback can never
collide with a libc declaration. Also fixes the fallback getresgid() taking
uid_t* parameters where it should take gid_t*.