Sam Lantinga
88e9f7765c
Fixed relative mouse mode using warping after 82793ac279
2021-10-14 18:37:27 -07:00
Sam Lantinga
a1fabca162
Removed mouse warping for local mice and improved warp handling for mouse over RDP
2021-10-14 16:52:21 -07:00
Sam Lantinga
82793ac279
Fixed mouse warping while in relative mode
...
We should get a mouse event with an absolute position and no relative motion and shouldn't change the OS cursor position at all
2021-10-14 14:26:21 -07:00
Sylvain
072e3fdfc4
Fixed bug #4534 : NEON implementation of Convert51ToStereo (Thanks Ryan!)
2021-10-14 23:17:08 +02:00
Sam Lantinga
5e89b3c89e
Don't need to use raw input to track the mouse during mouse capture (thanks Brick!)
2021-10-14 11:46:07 -07:00
Brick
0b6a821188
Messages posted on the same tick are not new
2021-10-14 09:05:38 -07:00
Rémy Tassoux
0789610cfb
Add SDL_HINT_WINDOW_NO_ACTIVATION_WHEN_SHOWN
2021-10-14 08:39:48 -07:00
Sam Lantinga
227c33b8ec
Add note about SDL_TICKS_PASSED hitting int overflow problems with large timeouts
2021-10-13 09:33:57 -07:00
Sam Lantinga
1fa154fda3
Fix weak enforcement of timeouts in SDL_WaitEventTimeout_Device. This will loop pumping events and waiting for a system event to come in. However not all system events will turn into an SDL event. It's not unusual for a Windows message to be some internal thing that SDL doesn't convert into a message. In that case the loop will simple circle but not exit. As long as such messages are coming in the loop will continue to run regardless of the timeout. When messages finally stop it'll still wait for the full timeout so you can have arbitrarily long delays.
...
Instead do an absolute elapsed time check since the start of the wait. If that is exceeded during any iteration the routine exits as the timeout has elapsed.
2021-10-13 09:33:54 -07:00
Sam Lantinga
2423c51471
Work around hang in AAudioStream_write() during extended shared object loading while running in a debugger. Observed on a OnePlus 8T (KB2005) running Oxygen OS 11.0.10.10.KB05AA.
...
The observed behavior is that any nonzero timeout value would hang until the device was paused and resumed. And a zero timeout value would always return 0 frames written even when audio fragments could be heard. Making a manual timeout system unworkable.
None of the straightforward systems imply that there's a detectable problem before the call to AAudioStream_write(). And the callback set within AAudioStreamBuilder_setErrorCallback() does not get called as we enter the hang state.
I've found that AAudioStream_getTimestamp() will report an error state from another thread. So this change codifies that behavior a bit until a better fix or more root cause can be found.
2021-10-13 09:33:51 -07:00
Sylvain
325ae5c35d
Android: getCurrentOrientation uses getContext() to retrieve the activity (see bug #4825 )
2021-10-13 08:35:56 +02:00
Erik Soma
0e294e90ae
Ensure that SDL_InitSubSystem quits subsystems after an error. ( #4834 )
...
* Ensure that SDL_InitSubSystem quits subsystems after an error.
* Fix unnecessary change.
2021-10-12 15:55:31 -07:00
Ozkan Sezer
6149e60136
remove IsWin10FCUorNewer() -- not used since commit 40ed9f75c9
2021-10-13 00:03:56 +03:00
Ozkan Sezer
311671a029
fixed build after commit 6e356e20ad
2021-10-12 23:50:02 +03:00
Rémy Tassoux
6e356e20ad
Fix mouse focus being set to null when a captured mouse cursor leaves the window.
2021-10-12 13:30:46 -07:00
Cameron Cawley
9ee6942e79
Improve RISC OS implementations of SDL_GetBasePath and SDL_GetPrefPath
2021-10-12 13:07:52 -07:00
Cameron Cawley
3db898c5b6
riscos: Implement SDL_GetPrefPath()
2021-10-12 13:07:52 -07:00
Sylvain
723f5cea43
Fixed bug #4825 - NullPointerException on SDLActivity.getCurrentOrientation() (Thanks Benau!)
2021-10-12 20:58:58 +02:00
Ryan C. Gordon
1b49f09243
include: manually ran wikiheaders.pl and cleaned up the obvious issues.
2021-10-08 20:50:30 -04:00
Ryan C. Gordon
55f60847cb
wikiheaders.pl: Try to handle functions with multiple declarations better.
2021-10-08 20:50:30 -04:00
Ryan C. Gordon
3970a885a5
wikiheaders.pl: Migrate in docs that exist only in the wiki.
...
This is going to expose some docs that needs cleaning up once
the bridge imports those docs, though.
2021-10-08 15:58:02 -04:00
Ryan C. Gordon
194657a2c6
include: Fix indentation on SDL_SoftStretch doxygen comment.
...
Otherwise wikiheaders.pl doesn't think it's valid.
2021-10-08 15:58:01 -04:00
Sam Lantinga
40ed9f75c9
Workaround for Windows occasionally ignoring SetCursorPos() calls
...
Also, since we're flushing mouse motion before and including the warp, we don't need the isWin10FCUorNewer hack to simulate mouse warp motion.
Fixes https://github.com/libsdl-org/SDL/issues/4339 and https://github.com/libsdl-org/SDL/issues/4165
2021-10-08 10:05:27 -07:00
Sam Lantinga
373216ae5b
Added support for touchpads in the Linux evdev code (thanks Francisco!)
2021-10-07 18:14:16 -07:00
Sam Lantinga
16aeb8d0f5
Guarantee that we don't dispatch any mouse motion from before or including the last mouse warp
2021-10-07 15:04:06 -07:00
Sam Lantinga
649466f491
Flush any pending mouse motion when warping the mouse cursor
...
Fixes https://github.com/libsdl-org/SDL/issues/4165
2021-10-07 13:28:44 -07:00
Väinö Mäkelä
ad5205739e
wayland: Only dispatch frame events in Wayland_GLES_SwapWindow
...
Dispatching all events in Wayland_GLES_SwapWindow leads to resizes being
acked before the program has a chance to handle the resize. This change
reduces jumping on fullscreen transition with apps that call
SDL_PollEvent before issuing any render calls.
2021-10-07 05:12:00 -04:00
Brick
f30e2e438d
Fix compiler warnings in testvulkan.c
...
MSVC gives the following warnings when compiling testvulkan.c:
```
testvulkan.c(656,1): warning C4018: '<': signed/unsigned mismatch
testvulkan.c(656,1): warning C4018: '>': signed/unsigned mismatch
testvulkan.c(660,1): warning C4018: '<': signed/unsigned mismatch
testvulkan.c(660,1): warning C4018: '>': signed/unsigned mismatch
```
2021-10-06 15:24:41 -07:00
Sam Lantinga
dd95c9c8a2
Moved focus click check into WIN_UpdateFocus() so we have the correct state when setting keyboard focus
...
Fixes https://github.com/libsdl-org/SDL/issues/4817
2021-10-06 09:09:39 -07:00
Sam Lantinga
1ec409c214
Don't warp the mouse within a window while it's minimized
2021-10-06 09:09:09 -07:00
Daniel Gibson
87ac373493
Fix Debug-only builds with CMake
...
"get_filename_component(SDL2_LIBDIR ${sdl2implib} PATH)" failed if
sdl2implib was set from sdl2implibdbg instead of ${sdl2implibdbg}
Thanks to seyuup from the SDL Discourse for pointing this out.
2021-10-05 18:45:53 -07:00
DomGries
0d541e5a88
Revert "Fixed relative mode mouse events stopping if you click on the title bar"
...
This has been better fixed by b28ed02
or another related relative mouse mode change of @slouken in SDL 2.0.17 and as such can be reverted to reduce unneeded processing in WM_MOUSEMOVE
2021-10-05 15:46:12 -07:00
Sam Lantinga
c542de9213
React to WM_NCACTIVATE instead of WM_SETFOCUS or WM_ACTIVATE for focus changes
...
See https://github.com/libsdl-org/SDL/pull/4293 and https://github.com/libsdl-org/SDL/issues/4450 for details
2021-10-05 14:09:52 -07:00
Ryan C. Gordon
ab7910facf
cmake: Move the old, global add_definitions (etc) to an interface library.
...
Fixes #4150 .
2021-10-05 12:34:29 -04:00
Ryan C. Gordon
f1793af404
cmake: removed an add_definitions call.
2021-10-05 11:19:30 -04:00
Ryan C. Gordon
25fdba39bb
cmake: fix indentation.
2021-10-05 11:19:14 -04:00
Ryan C. Gordon
f306662544
cmake: Correctly set IOS variable.
...
Fixes #4635 .
2021-10-05 11:13:41 -04:00
Ryan C. Gordon
60d59aeb61
cmake: Calculate padding for dislaying options automatically.
2021-10-05 10:54:06 -04:00
Ryan C. Gordon
7850d0cf6f
cmake: Prefix all options with "SDL_"
...
This makes it clear which options came from SDL's CMake project when
building SDL as a subdirectory of a parent CMake project.
Fixes #4139 .
2021-10-05 10:45:26 -04:00
Sylvain
172957387e
PSP: links for setting up, compiling and running on PSP
2021-10-04 22:12:08 +02:00
Sylvain
f080273acd
PSP: add implementation for RenderGeometry
2021-10-04 22:01:11 +02:00
Ozkan Sezer
e92a639b23
replaced many uses of libc calls with SDL_ counterparts in os2 sources.
...
TODO: core/os2 and geniconv sources _must_ be updated, as well..
2021-10-04 23:00:28 +03:00
Sylvain
dd9b2daf8d
PSP: fixed build
2021-10-04 21:56:42 +02:00
Ozkan Sezer
3ea35fe5bb
fix SDL_atoi()
...
fixes https://github.com/libsdl-org/SDL/issues/4811
2021-10-04 21:32:00 +03:00
Ivan Epifanov
407867cf72
Alias SDL2::SDL2 to SDL2::SDL2-static on static-only builds
2021-10-04 11:17:30 -07:00
Ozkan Sezer
cd7ef24cba
minor update to os2 makefile.
2021-10-04 00:32:56 +03:00
Sam Lantinga
c501d159a9
Fixed range for Steam Controller sensor values
2021-10-03 14:10:21 -07:00
Sam Lantinga
ea1a2b94f2
Use the correct update rate for Steam Controller sensors
2021-10-02 09:13:29 -07:00
David Gow
eadc8f9355
wayland: Cleanup some SDL_TryLockMutex() calls.
...
Check the result of these against 0 explicitly, so that it's obvious
we're bailing out on failure, not success.
2021-10-02 11:14:52 -04:00
David Gow
25f9e32b0e
wayland: Don't let multiple threads dispatch wayland events at once
...
wl_display_dispatch() will block if there are no events available, and
while we try to avoid this by using SDL_IOReady() to verify there are
events before calling it, there is a race condition between
SDL_IOReady() and wl_display_dispatch() if multiple threads are
involved.
This is made more likely by the fact that SDL_GL_SwapWindow() calls
wl_display_dispatch() if vsync is enabled, in order to wait for frame
events. Therefore any program which pumps events on a different thread
from SDL_GL_SwapWindow() could end up blocking in one or other of them
until another event arrives.
This change fixes this by wrapping wl_display_dispatch() in a new mutex,
which ensures only one thread can compete for wayland events at a time,
and hence the SDL_IOReady() check should successfully prevent either
from blocking.
2021-10-02 11:03:20 -04:00