|
0789610c
|
2021-10-14T00:52:05
|
|
Add SDL_HINT_WINDOW_NO_ACTIVATION_WHEN_SHOWN
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
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..
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
8d1e0ca3
|
2021-09-16T12:48:39
|
|
Vita: add support for disabling 'screensaver' (screen dimming and suspend)
|
|
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
|
|
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
|
|
6f972052
|
2021-08-30T12:21:05
|
|
Added: Support for showing the IME Candidate Window on Windows
|
|
515b7e93
|
2021-08-27T17:02:07
|
|
Fix horizontal wheel scroll direction of X11.
|
|
9fae8f70
|
2021-08-29T15:33:58
|
|
Treat empty SDL_VIDEODRIVER var to check all video drivers.
|
|
1fe9ad04
|
2021-08-27T14:09:47
|
|
SDL_ConvertSurface: add an intermediate variable to remove static analysis false positive (see bug #4600)
|
|
b1e492d1
|
2021-08-25T19:31:47
|
|
Search for an appropiate plane instead of simply using the first one.
|
|
23ffa3d9
|
2021-08-25T21:31:07
|
|
Update SDL's copy of the EGL headers from Khronos
|
|
524964f9
|
2021-08-14T12:09:13
|
|
Add SDL_HINT_VIDEO_EGL_ALLOW_TRANSPARENCY
|
|
5113fedf
|
2021-08-02T23:01:12
|
|
video/wayland: use EGL_EXT_present_opaque when available
|
|
d5fe9c30
|
2021-08-24T14:18:47
|
|
x11: Log a warning if we decide to use XVidMode.
Reference issue #1782.
|
|
ccb06296
|
2021-08-19T03:15:02
|
|
SDL_windowsevents.c: fix build against older SDKs.
|
|
402b86f2
|
2021-08-15T14:41:56
|
|
waylandevents: prevent segfault if xkb compose table is not found
this can happen e.g. on pure wayland system where there is no X11
locales for xkbcommon to find.
|
|
454943cf
|
2021-04-11T16:44:48
|
|
emscripten: Don't flag window fullscreen on external requests
Also, the condition was always true.
|
|
55af8dca
|
2019-02-27T14:16:37
|
|
emscripten: use emscripten_set_window_title api
|
|
d8baad7e
|
2019-02-27T14:15:40
|
|
emscripten: use emscripten_get_screen_size api
|
|
abc04270
|
2020-04-15T15:22:39
|
|
emscripten: Fix framebuffer array creation optimisation
|
|
b4f11a36
|
2020-04-15T14:48:52
|
|
emscripten: Drop commented out code from the dummy driver
|
|
fbc36490
|
2021-08-14T22:29:05
|
|
Use the new SDL_clamp() macro where sensible
There were a few places throughout the SDL code where values were
clamped using SDL_min() and SDL_max(). Now that we have an SDL_clamp()
macro, use this instead.
|
|
91a55a02
|
2021-08-13T23:59:39
|
|
Relative mouse motion is delivered to the window with keyboard focus
This was the original intent (note SDL_UpdateWindowGrab() in SDL_OnWindowFocusGained() and SDL_OnWindowFocusLost()) and fixes a bug where relative motion unexpectedly stops if the task bar is covering the bottom of the game window and the mouse happens to move over it while relative mode is enabled.
Another alternative would be to confine the mouse when relative mode is enabled, but that generates mouse motion which would need to be ignored, and it's possible for the user moving the mouse to combine with the mouse moving into the confined area so you can't easily tell whether to ignore the mouse motion. See https://github.com/libsdl-org/SDL/issues/4165 for a case where this is problematic.
|
|
4d9efcb5
|
2021-08-13T11:52:25
|
|
Fixed flag test for boolean correctness
|
|
b28ed028
|
2021-08-13T11:39:41
|
|
Don't warp the mouse for relative mode when the window doesn't have focus
|
|
629e9f82
|
2021-08-13T11:06:43
|
|
Fixed return value of SDL_GetGrabbedWindow() when we have an internal grab because of mouse relative mode
|
|
6aa1498b
|
2021-08-13T11:03:19
|
|
This assert wasn't correct, we set the internal grab for mouse relative mode as well.
|
|
25cd749a
|
2021-08-12T15:12:04
|
|
x11: Don't change mode if we are already in the correct mode
If we are already in the desired mode, changing it is a no-op at best,
and harmful at worst: on Xwayland, it sometimes happens that we disable
the crtc and cannot re-enable it.
Resolves: https://github.com/libsdl-org/SDL/issues/4630
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|
68ca35c3
|
2021-08-11T21:40:46
|
|
wayland: fix memleak in output listener
|
|
ae7ee2a5
|
2021-08-11T09:59:43
|
|
wayland: Ignore stateless/sizeless configs when starting in fullscreen mode
|
|
cb1e20b0
|
2021-08-10T17:50:17
|
|
Added KMOD_SCROLL to track the scroll lock state
Fixes https://github.com/libsdl-org/SDL/issues/4566
|
|
016b02f2
|
2021-08-10T12:16:55
|
|
Fixed build, C89 doesn't allow non-constant static initializers
|
|
77c8d111
|
2021-08-10T20:55:50
|
|
configuration updates for dlopen:
- cmake, configure (CheckDLOPEN): --enable-sdl-dlopen is now history..
detach the dl api discovery from SDL_LOADSO_DLOPEN functionality.
define HAVE_DLOPEN. also define DYNAPI_NEEDS_DLOPEN (CheckDLOPEN is
called only for relevant platforms.)
- update SDL_config.in and SDL_config.cmake accordingly.
- SDL_dynapi.h: set SDL_DYNAMIC_API to 0 if DYNAPI_NEEDS_DLOPEN is
defined, but HAVE_DLOPEN is not.
- pthread/SDL_systhread.c: conditionalize dl api use to HAVE_DLOPEN
- SDL_x11opengl.c, SDL_DirectFB_opengl.c, SDL_naclopengles.c: rely
on HAVE_DLOPEN, not SDL_LOADSO_DLOPEN.
- SDL_config_android.h, SDL_config_iphoneos.h, SDL_config_macosx.h,
SDL_config_pandora.h, and SDL_config_wiz.h: define HAVE_DLOPEN.
Closes: https://github.com/libsdl-org/SDL/pull/4351
|
|
cb0fd05e
|
2021-08-07T22:41:54
|
|
Adding a clarifying comment in case a programmer unfamiliar with UTF-16 and UTF-32's relationship chances upon the code.
|
|
34701129
|
2021-08-07T20:51:49
|
|
Optimizing the implementation.
|
|
712e0d1f
|
2021-08-07T16:23:15
|
|
Fixing WM_CHAR event handling for Unicode characters outside the Basic Multilingual Plane.
|
|
fcfd19db
|
2021-08-10T12:02:17
|
|
Added support for SDL_RENDERER_PRESENTVSYNC to the software renderer
This fixes https://github.com/libsdl-org/SDL/issues/4612
|
|
b3a989d0
|
2021-08-10T13:08:27
|
|
video: Fix false positives in driver name comparison
Without this change, driver names don't get matched correctly;
for example "x" can get matched with "x11" since it only checks
whether the string matches up to the length of the requested
driver name.
|
|
6ae227d0
|
2021-08-08T23:27:08
|
|
x11/wayland: fix screensaver suspension via D-Bus
b08b1bde introduced a subtle bug. Despite not using D-Bus types directly,
the code used the SDL_USE_LIBDBUS definition set by SDL_dbus.h to conditionally
compile calls SDL_DBus_ScreensaverTickle() and SDL_DBus_ScreensaverInhibit().
As a result, it still compiled without SDL_dbus.h included, but screensaver
suspension silently failed to work.
The D-Bus stuff could probably use some tweaks to be harder to accidentally
break, but for now just restore the header includes.
|
|
2e6dac87
|
2021-08-09T01:47:42
|
|
wayland: Add a hint to allow disabling libdecor use
Useful for testing xdg-shell path with compositors like Weston.
|
|
092a20d9
|
2021-08-08T16:47:34
|
|
wayland: Avoid busy waiting for vsync
|
|
7be970db
|
2021-08-06T19:51:27
|
|
wayland: Avoid setting floating width/height when re-entering fullscreen
|
|
a91ab883
|
2021-08-06T12:28:03
|
|
Fixed building on Windows with cmake, ninja, and clang
|
|
10979d37
|
2021-08-05T12:42:03
|
|
wayland: Always assume configure is wrong for non-resizable windows.
Configure events from compositors have an extremely annoying habit of giving us
completely bogus sizes, from all sorts of places. Thankfully, the protocol
gives us the ability to completely ignore the width/height and just stick with
what we know, so for all windows that are not meant to be resized, pretend we
never even got the width/height at all, the compositor is required to respect
our dimensions whether they match configure's suggestion or not.
|
|
88674b4a
|
2021-08-04T13:17:35
|
|
Fixed build
|
|
c14813a8
|
2021-08-04T13:00:14
|
|
Fixed spacing
|
|
3cad447e
|
2021-08-04T12:57:51
|
|
Only update the window size if setting the display mode succeeded
|
|
0eb6f791
|
2021-05-21T13:48:14
|
|
SDL_SetWindowDisplayMode(): If already fullscreen, adjust window size
Otherwise only the display resolution is changed, but the SDL window size
(and for example the window-surface size) aren't adjusted accordingly
and thus don't fill the whole screen.
See #3313
|
|
72d81285
|
2021-05-19T18:47:56
|
|
Improve SDL_CreateWindow() fullscreen support on Windows
.. and maybe other platforms as well (though X11 was not affected)?
The issue was that passing a higher resolution than the current desktop
resolution to SDL_CreateWindow() with SDL_WINDOW_FULLSCREEN didn't switch
to that resolution (even though it did switch to lower resolutions).
When creating a fullscreen window, window->fullscreen wasn't even set
at all (only zeroed out), setting it only happened if the user explicitly
called SDL_SetWindowDisplayMode(). So without that, SDL_CreateWindow()
-> SDL_UpdateFullscreenMode() -> SDL_GetWindowDisplayMode() used the
resolution from window->windowed.w/h which were limited to the desktop size
due to some weird combination of WIN_AdjustWindowRectWithStyle() and
WIN_WindowProc() being called after a call to SetWindowPos().
fixes #3313
|
|
b08b1bde
|
2021-08-03T22:50:58
|
|
linux: remove d-bus lazy init dead code
Lazy init in X11/Wayland is dead code since dbdbae4
|
|
7e88e772
|
2021-08-04T02:30:47
|
|
winrt: Fixed incorrect code in a Windows Phone #ifdef.
|
|
32f909f7
|
2021-08-03T13:30:57
|
|
wayland: Remove redundant waylanddyn.h includes.
All files including waylanddyn.h already include waylandvideo.h first.
|
|
124405a0
|
2021-08-03T13:17:19
|
|
wayland: Fix building without Vulkan support
|
|
350ca0f9
|
2021-08-03T04:57:53
|
|
winrt: Don't register orientation hint callback in startup code.
SDL_AddHintCallback() uses SDL_malloc(), which means this would
run before main(), so the app wouldn't be able to supply its own
replacement SDL_malloc() implementation in time.
This code was moved to under SDL_Init. Since the hint callback
already makes efforts to not override the app manifest's
orientation settings, this is safe to move until after pre-main()
startup.
Fixes #4449.
|
|
7082fb04
|
2021-08-02T22:42:28
|
|
wayland: Only dispatch on fullscreen set when the window is visible.
Fixes hang-on-startup described in #4572.
|