|
0789610c
|
2021-10-14T00:52:05
|
|
Add SDL_HINT_WINDOW_NO_ACTIVATION_WHEN_SHOWN
|
|
1fa154fd
|
2021-10-13T09:33:54
|
|
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.
|
|
2423c514
|
2021-10-13T09:33:51
|
|
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.
|
|
0e294e90
|
2021-10-12T18:55:31
|
|
Ensure that SDL_InitSubSystem quits subsystems after an error. (#4834)
* Ensure that SDL_InitSubSystem quits subsystems after an error.
* Fix unnecessary change.
|
|
6149e601
|
2021-10-13T00:03:56
|
|
remove IsWin10FCUorNewer() -- not used since commit 40ed9f75c9e1ed
|
|
311671a0
|
2021-10-12T23:50:02
|
|
fixed build after commit 6e356e20ad
|
|
6e356e20
|
2021-10-12T18:35:52
|
|
Fix mouse focus being set to null when a captured mouse cursor leaves the window.
|
|
9ee6942e
|
2021-09-22T14:01:00
|
|
Improve RISC OS implementations of SDL_GetBasePath and SDL_GetPrefPath
|
|
3db898c5
|
2020-02-13T22:32:35
|
|
riscos: Implement SDL_GetPrefPath()
|
|
40ed9f75
|
2021-10-08T10:05:27
|
|
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
|
|
373216ae
|
2021-10-07T18:14:16
|
|
Added support for touchpads in the Linux evdev code (thanks Francisco!)
|
|
16aeb8d0
|
2021-10-07T15:04:06
|
|
Guarantee that we don't dispatch any mouse motion from before or including the last mouse warp
|
|
649466f4
|
2021-10-07T13:28:44
|
|
Flush any pending mouse motion when warping the mouse cursor
Fixes https://github.com/libsdl-org/SDL/issues/4165
|
|
ad520573
|
2021-10-06T09:52:06
|
|
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.
|
|
dd95c9c8
|
2021-10-06T09:09:39
|
|
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
|
|
1ec409c2
|
2021-10-06T09:09:09
|
|
Don't warp the mouse within a window while it's minimized
|
|
0d541e5a
|
2021-10-06T00:36:27
|
|
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
|
|
c542de92
|
2021-10-05T14:08:36
|
|
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
|
|
f080273a
|
2021-10-04T22:00:16
|
|
PSP: add implementation for RenderGeometry
|
|
e92a639b
|
2021-10-04T23:00:28
|
|
replaced many uses of libc calls with SDL_ counterparts in os2 sources.
TODO: core/os2 and geniconv sources _must_ be updated, as well..
|
|
dd9b2daf
|
2021-10-04T21:56:42
|
|
PSP: fixed build
|
|
3ea35fe5
|
2021-10-04T21:32:00
|
|
fix SDL_atoi()
fixes https://github.com/libsdl-org/SDL/issues/4811
|
|
c501d159
|
2021-10-03T14:10:21
|
|
Fixed range for Steam Controller sensor values
|
|
ea1a2b94
|
2021-10-02T09:12:57
|
|
Use the correct update rate for Steam Controller sensors
|
|
eadc8f93
|
2021-10-02T23:08:39
|
|
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.
|
|
25f9e32b
|
2021-10-02T16:52:43
|
|
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.
|
|
8b745752
|
2021-10-01T21:32:21
|
|
Added support for the gyro and accelerometer on Steam Controllers
Fixes https://github.com/libsdl-org/SDL/issues/4577
|
|
db18764e
|
2021-10-01T16:27:59
|
|
Use correct relative include path
|
|
632aca29
|
2021-10-01T16:17:38
|
|
Window input focus is based on WM_SETFOCUS and WM_KILLFOCUS as WM_ACTIVATE doesn't necessarily imply focus.
Hopefully resolves https://github.com/libsdl-org/SDL/issues/4450 and https://github.com/libsdl-org/SDL/pull/4293
|
|
9706feac
|
2021-10-01T15:11:25
|
|
Update length after shortening string (thanks mayraud705!)
Closes https://github.com/libsdl-org/SDL/pull/4698
|
|
77acd44f
|
2021-10-01T22:30:51
|
|
DirectFB: fixed creation of palette textures
|
|
83d60090
|
2021-09-30T23:47:37
|
|
DirectFB: add partial support for RenderGeometry
allow to fill triangles with color or texture
but only uniform vertex color is handled (not per vertex color)
|
|
c270949b
|
2021-09-28T18:07:22
|
|
Add a fast path for ARGB888->(A)BGR888 blending with pixel alpha
|
|
114d1d46
|
2021-09-27T23:18:25
|
|
direct3d: Remove unnecessary render target support check.
Direct3D 9 dictates that caps.NumSimultaneousRTs must always be at least 1,
which is to say that Direct3D 9 level hardware must always support render
targets.
(caps.NumSimultaneousRTs is meant to show if you can draw to multiple render
targets in a single draw call.)
We had already hardcoded SDL_RENDERER_TARGETTEXTURE as available earlier in
the function anyhow.
Fixes #4781.
|
|
0fc43504
|
2021-09-27T16:41:43
|
|
wayland: Add support for XCURSOR_THEME/SIZE
|
|
7c050aa6
|
2021-09-27T13:53:16
|
|
egl: Don't fail to create a context if KHR_create_context_no_error is unsupported
|
|
35d04558
|
2021-09-27T16:57:09
|
|
video: wayland: Support displays with a 0 refresh rate
Some wayland compositors report the refresh rate as 0. Since we want to
force a minimum refresh rate of 10 frames worth, we were dividing by the
reported refresh rate, causing a divide-by-zero.
If the refresh rate is 0, instead force a frame every second if no frame
callbacks are received.
This fixes bug #4785
|
|
9672d581
|
2021-09-26T14:22:11
|
|
Need to check structure version before setting xdg_toplevel to NULL
|
|
14f22519
|
2021-09-26T18:11:22
|
|
Use SDL_calloc for allocation of gxm_texture
|
|
b592e78f
|
2021-09-25T12:55:41
|
|
wayland: Expose xdg_toplevel to SysWM
|
|
477fcf52
|
2021-09-24T10:49:46
|
|
Fixed whitespace
|
|
db68af80
|
2021-09-24T10:49:44
|
|
Reduce the likelyhood that the mouse will hover over the taskbar or toast notification while in relative mode, which causes a mouse leave event.
This will still happen occasionally as the mouse is whipped around, if there is a window overlapping the game window, but it should happen less often now. This could even happen with the original code that warped the mouse every frame, so this should be a good compromise where we don't warp the mouse continously and we still keep the mouse in the safe area of the game window.
Note that notifications can be any size, so the safe area may need to be adjusted or even dynamically defined via a hint.
|
|
7ed415d2
|
2021-09-23T14:07:38
|
|
wayland: Reuse KeySymToUcs4 to replicate X11 keymap behavior
|
|
1a4e2e5e
|
2021-09-23T14:31:54
|
|
wayland: For text, ignore key events when Ctrl is held
Fixes #4695
|
|
0aff42a1
|
2021-09-23T00:02:44
|
|
egl: Group data fields before function pointers in SDL_EGL_VideoData.
|
|
0ad4956c
|
2021-09-23T00:00:46
|
|
egl: explicitly call eglBindAPI during SDL_GL_MakeCurrent.
The EGL API binding must be specified per-thread, per the docs.
Fixes #1820.
|
|
31477160
|
2021-09-22T09:27:41
|
|
egl: make an int into an SDL_bool.
|
|
4ec259a7
|
2021-09-22T19:06:11
|
|
Fixed building on Visual Studio 2013 and older
|
|
287571fb
|
2021-09-22T17:40:57
|
|
Limit effect of in_title_click and focus_click_pending to only blocking cursor warping; without this all relative mouse motion was getting ignored when a window was activated via a mouse button
|
|
52921563
|
2021-09-22T21:23:42
|
|
End Scene on RunCommandQueue on Vita
|
|
08ae7904
|
2021-09-14T20:38:03
|
|
Replace calls to asprintf with SDL_asprintf
|
|
25a614bc
|
2021-09-14T20:37:35
|
|
Add SDL_asprintf and SDL_vasprintf
|
|
79b0aae8
|
2021-09-22T11:42:10
|
|
The return value of SDL_snprintf is the number of characters that would have been written.
Fixes https://github.com/libsdl-org/SDL/issues/4762
|
|
9b74623b
|
2021-09-22T13:52:36
|
|
wayland: Woops, forgot to assign cursor theme size...
|
|
8e54698a
|
2021-09-22T13:26:44
|
|
wayland: Add support for high-DPI cursors
|
|
432ee7d8
|
2021-09-22T09:29:21
|
|
Fixed building SDL_dynapi.c without stdio support
|
|
345c161f
|
2021-09-22T09:06:45
|
|
Fixed some accidental uses of external C runtime functions
|
|
5d455cab
|
2021-09-21T18:15:11
|
|
Don't process raw input when the window is being dragged or clicked on.
|
|
0fd54f91
|
2021-09-21T18:15:11
|
|
Fixed using a tablet with raw input relative motion
Tested with a Wacom Cintiq Pro 16"
|
|
8fee82d1
|
2021-09-21T18:15:09
|
|
Improve relative motion handling over RDP
CR and research: @danielj
|
|
eb3bf80f
|
2021-09-21T18:15:09
|
|
Fixed compiler warnings using Visual Studio 2019
|
|
ce11caa8
|
2021-09-21T16:41:29
|
|
alsa: Map 7.1 audio channels to match what Windows and macOS expect.
This matches what we did a long time ago for 5.1 audio.
Fixes #55.
(FIFTY FIVE. Bug reported 15 years, 3 months, and 11 days ago! lol)
|
|
9886d897
|
2021-09-21T16:23:48
|
|
Fix AltiVec detection on FreeBSD
The previous code was not correct, because there's no PPC_FEATURE_HAS_ALTIVEC MIB.
Instead, elf vector check should be done.
|
|
c45facf2
|
2021-09-21T11:13:46
|
|
alsa: clean up macro salsa a little.
|
|
3b2fbb1c
|
2021-09-20T23:44:22
|
|
End current scene before destroying the texture on Vita
|
|
fc4296c1
|
2021-09-20T23:02:43
|
|
Use aligned stride in sceGxmColorSurfaceInit
|
|
7080bc2a
|
2021-09-20T23:02:01
|
|
Fallback to SCE_KERNEL_MEMBLOCK_TYPE_USER_RW_UNCACHE if CDRAM texture allocation fails
|
|
512355d7
|
2021-09-20T20:21:05
|
|
Vita: fix thread detach. Remove leftover KillThread
|
|
ddcd847c
|
2021-09-20T14:08:01
|
|
Vita: fix thread priority Add support for thread name and stack size
|
|
478f9eed
|
2021-09-20T10:20:04
|
|
x11: Don't include X11/extensions/extutil.h
We don't use it, it was a leftover from 1.2, I think, and it doesn't exist
on Solaris, so this should hopefully fix the build there.
This also means we don't need the configure/cmake checks for
SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY, so that was removed also.
Fixes #1666.
|
|
ca9a3217
|
2021-09-19T15:47:24
|
|
render: GL/GLES now draw lines almost perfectly matching software renderer.
One place known to differ in a significant way is a single line segment that
starts and ends on the same point; the GL renderers will light up a single
pixel here, whereas the software renderer will not. My current belief is this
is a bug in the software renderer, based on the wording of the docs:
"SDL_RenderDrawLine() draws the line to include both end points."
You can see an example program that triggers that difference in Bug #2006.
As it stands, the GL renderers might _also_ render diagonal lines differently,
as the the Bresenham step might vary between implementations (one does three
pixels and then two, the other does two and then three, etc). But this patch
causes those lines to start and end on the correct pixel, and that's the best
we can do, and all anyone really needs here.
Not closing any bugs with this patch (yet!), but here are several that it
appears to fix. If no other corner cases pop up, we'll call this done.
Reference Bug #2006.
Reference Bug #1626.
Reference Bug #4001.
...and probably others...
|
|
857cc7c0
|
2021-09-19T00:05:21
|
|
render: constified some local variables in SDL_AllocateRenderVertices.
|
|
5faea84c
|
2021-09-18T11:54:25
|
|
render: Mark viewport/cliprect dirty when window is resized.
Fixes #4751.
|
|
5dccffd7
|
2021-08-23T21:16:58
|
|
Allow usage of the new Condition Variable code with Critical Sections
Vista and later provide the SleepConditionVariableCS() function for this.
Since SDL_syscond_srw.c doesn't require SRW locks anymore, rename it to
SDL_syscond_cv.c which better reflects the implementation of condition
variables rather than the implementation of mutexes.
Fixes #4051.
|
|
ebdfd0e1
|
2021-09-17T00:45:07
|
|
atomic: detect clang separately
|
|
8d1e0ca3
|
2021-09-16T12:48:39
|
|
Vita: add support for disabling 'screensaver' (screen dimming and suspend)
|
|
79ec8986
|
2021-09-16T12:47:45
|
|
Vita: refactor gxm texture render and add SDL_RenderGeometry support
|
|
2a8938f2
|
2021-09-15T12:40:22
|
|
Fixed: Whitespace being striped from the end of IME strings incorrectly + Regression with SDL_SetTextInputRect (#4752)
* Fixed: Whitespace being striped from the end of IME strings incorrectly
* Fixed: Google IME Candidate Window not placing correctly
* Why are PostBuild events stored in the vcxproj and not a user file?
* Revert SDL.vcxproj properly...
* Remove whitespace as per code review
* Fix Werror=declaration-after-statement error in code
|
|
ce177049
|
2021-09-12T09:34:41
|
|
Vita: Allow completely skipping pvr init to override apphint from app
|
|
4a994733
|
2021-09-14T15:51:17
|
|
`SDL_RenderSetVSync()`: Restrict `vsync` to 0 or 1
In the future, we might want to support special swap intervals. To
prevent applications from expecting nonzero values of vsync to be the
same as "on", fail with SDL_Unsupported() if the value passed is neither
0 nor 1.
|
|
4549769d
|
2021-03-07T15:20:45
|
|
Add `SDL_RenderSetVSync()`
Currently, if an application wants to toggle VSync, they'd have to tear
down the renderer and recreate it. This patch fixes that by letting
applications call SDL_RenderSetVSync().
This is the same as the patch in #3673, except it applies to all
renderers (including PSP, even thought it seems that the VSync flag is
disabled for that renderer). Furthermore, the renderer flags also change
as well, which #3673 didn't do. It is also an API instead of using hint
callbacks (which could be potentially dangerous).
Closes #3673.
|
|
b2504b5d
|
2021-09-11T20:08:03
|
|
Fix typos
|
|
e4556594
|
2021-09-10T21:13:51
|
|
Simplify Backspace and Enter
|
|
f162d9ee
|
2021-09-10T21:02:22
|
|
Fix Indentation
|
|
058c4d36
|
2021-09-10T20:55:49
|
|
Add envvar to disable touchpads independently
|
|
4435543d
|
2021-09-10T20:01:40
|
|
Add PVR On Screen Keyboard Support
|
|
10d3df44
|
2021-09-09T12:46:28
|
|
Vita: fix copyright dates
|
|
2a836860
|
2021-09-09T12:36:40
|
|
Fix default path
|
|
134dd468
|
2021-08-16T19:08:12
|
|
Add pvr gles/gles2 context support
|
|
ff85d4fb
|
2021-09-08T17:51:47
|
|
Fixed Xbox Series X controller being detected by both IOKit and GCController on macOS
|
|
9f855258
|
2021-09-08T17:50:17
|
|
Added mapping for Xbox One S controller with newer firmware on macOS
|
|
bf97c5a2
|
2021-09-08T14:47:40
|
|
Make sure SDL file descriptors don't leak into child processes
|
|
d49d955d
|
2021-09-08T11:44:17
|
|
render: SDL_RenderGeometry should still render when hidden, in most cases.
(otherwise render targets may fail, etc...the check is a legacy helper for
iOS apps that crash if you try to use OpenGL while in the background.)
|
|
7d66fa20
|
2021-09-07T17:38:26
|
|
Fixed double-copy of the report in BlueZ >= 5.56
|
|
7ed7644a
|
2021-09-07T17:37:47
|
|
Fixed compiling HIDAPI Steam Controller support with C89 compiler
|
|
27a48b14
|
2021-09-07T15:50:21
|
|
Check the pathname first, as that's a faster check for XInput devices
|
|
6f972052
|
2021-08-30T12:21:05
|
|
Added: Support for showing the IME Candidate Window on Windows
|
|
183eb067
|
2021-09-01T15:46:32
|
|
Fixed bug #4711: prevent opengl SDL_renderer from crashing if GL_ARB_multitexture isn't supported
|
|
515b7e93
|
2021-08-27T17:02:07
|
|
Fix horizontal wheel scroll direction of X11.
|
|
a1ffeda0
|
2021-08-28T22:52:13
|
|
Add SDL_HINT_APP_NAME and DBUS inhibition hint
See SDL bug #4703. This implements two new hints:
- SDL_APP_NAME
- SDL_SCREENSAVER_INHIBIT_ACTIVITY_NAME
The former is the successor to SDL_HINT_AUDIO_DEVICE_APP_NAME, and acts
as a generic "application name" used both by audio drivers and DBUS
screensaver inhibition. If SDL_AUDIO_DEVICE_APP_NAME is set, it will
still take priority over SDL_APP_NAME.
The second allows the "activity name" used by
org.freedesktop.ScreenSavver's Inhibit method, which are often shown in
the UI as the reason the screensaver (and/or suspend/other
power-managment features) are disabled.
|