|
423feac6
|
2022-02-05T21:23:40
|
|
haiku: Actually remove BDirectWindow and fix OpenGL handling.
This provides the other half of 05c72b113c830392f8b08532317ef07972b29a2e.
|
|
c8cee0b8
|
2022-02-04T23:28:56
|
|
OS2_HasClipboardText: store the boolean result before closing clipboard.
just in case..
|
|
3b9e6c1c
|
2022-02-04T19:50:20
|
|
SDL_os2video.c: fixed HasClipboardText() semantics.
Empty string in clipboard is expected to give FALSE by SDL_HasClipboardText.
Noticed in a commit by josch1710 in bitwiseworks' os/2 fork.
|
|
3bef4a5d
|
2022-01-22T15:43:09
|
|
cleanup error-handling in SDL_egl.c
- always set error message in SDL_EGL_ChooseConfig / SDL_EGL_CreateContext
- assume SDL_EGL_DeleteContext does not alter the error message
- sync generic error message of SDL_EGL_MakeCurrent with SDL_EGL_Get/SetSwapInterval
- do not overwrite error message of SDL_EGL_ChooseConfig in WINRT_CreateWindow
|
|
b5c50526
|
2022-01-22T15:34:22
|
|
cleanup error-handling in SDL_bmp.c
- add missing error-message in SDL_LoadBMP_RW
- check return value of SDL_RWtell in SDL_LoadBMP_RW
- use standard SDL_EFREAD error instead of custom strings
+ adjust return type of readRlePixels
|
|
19df4af2
|
2022-01-22T10:33:38
|
|
simplify SDL_DUMMY/OFFSCREEN_CreateWindowFramebuffer
|
|
ecd922b5
|
2022-02-01T22:33:13
|
|
Fix touch holding detection after #5244 changes
|
|
b11dfd76
|
2022-02-01T14:43:26
|
|
Only generate key repetition for keys that should repeat on wayland.
This fix repetition on modifier keys, e.g. Control.
|
|
a90a2e75
|
2022-01-30T16:44:44
|
|
Fix text_input_v3 preedit string
For every batch of text_input_v3 updates, if there is no preedit in this
batch, preedit should be cleared.
|
|
97269e14
|
2022-01-18T17:51:17
|
|
adjustments to ime_candidates
- allocate ime_candidates on demand
- allow write to the whole allocated memory of ime_candidates
- ensure ime_candcount is set to zero in case the candidates can not be queried for any reason
|
|
6f404d0f
|
2022-01-18T17:49:33
|
|
cleanup IME_GetCandidateList / UILess_GetCandidateList
- move IME_ShowCandidateList, ImmGetContext and ImmReleaseContext to this function
- set ime_candpgsize to MAX_CANDLIST if dwPageSize is zero
- comment out deselection of ime_candsel in case of korean language for the moment (LANG_CHT does not work anyway)
|
|
32c7d5d3
|
2022-01-18T17:44:51
|
|
cleanup IME_UpdateInputLocale
- do not store the HKL in a static variable
- always set the ime_candvertical value in case the HKL is changed
|
|
25aa7244
|
2022-01-18T17:43:31
|
|
cleanup IME_GetId
- use assert instead of a check (it is a static function with constant parameter)
- assume it is called with 0 first (simplifies the logic)
- reuse dwLang value instead of a new 'call' to LANG()
|
|
60deadba
|
2022-01-17T17:22:30
|
|
re-use return value of SDL_SetError/WIN_SetErrorFromHRESULT/SDL_OutOfMemory
|
|
ebdd5366
|
2022-01-17T16:26:02
|
|
use SDL_InvalidParamError or SDL_assert instead of custom SDL_SetError
|
|
3c85cef4
|
2022-01-17T09:58:16
|
|
cleanup SDL_RegisterApp
- fix memory leak when RegisterClassEx fails
- set style according to the documentation
- eliminate duplicated SDL_Instance setter
|
|
014e2bbd
|
2022-01-12T16:40:52
|
|
use SDL_COMPILE_TIME_ASSERT instead of SDL_STATIC_ASSERT
|
|
95f30c7a
|
2022-01-12T10:12:54
|
|
fix compiler warnings in video/uikit
|
|
eb80f2c6
|
2022-01-11T10:45:41
|
|
sync handling of subsystems II.
|
|
942b01a5
|
2022-01-09T15:08:21
|
|
do not use RWOps in WIN_SetWindowIcon
|
|
e11ba0f5
|
2022-01-08T12:03:57
|
|
do not load/unload opengl library when SDL_WINDOW_METAL flag is changed
|
|
19ae71b2
|
2022-01-27T11:48:32
|
|
video: Don't add SDL_WINDOW_(METAL|OPENGL) to new windows if unsupported.
Fixes #4656.
(Better than the previous fix in 3044310518dbb2d4814b32c6521f332b8d69aae5.)
|
|
cc40f732
|
2022-01-26T21:09:39
|
|
wayland: Round the refresh rate rather than truncating it
A 59999 mHz monitor should be reported as 60 Hz, not 59 Hz.
|
|
30443105
|
2022-01-26T21:10:15
|
|
video: Don't add SDL_WINDOW_METAL to new windows if not using Cocoa or UIKit.
Fixes #4656.
|
|
77a9ca6b
|
2022-01-26T18:26:07
|
|
wayland: Fix SDL_SetWindowSize() being dropped right after exiting fullscreen
If we get a SDL_SetWindowSize() call right after SDL_SetWindowFullscreen() but
before we've gotten a new configure event from the compositor, the attempt to
set our window size will silently fail (when libdecor is enabled).
Fix this by remembering that we need to commit a new size, so we can do that
in decoration_frame_configure().
|
|
f37e4a94
|
2022-01-26T17:02:49
|
|
video: Don't check if we can use a "texture framebuffer" until needed.
This prevents SDL from making an OpenGL context and maybe throwing it away
immediately by default. It will now only do it when trying to request a
window framebuffer directly, or creating an SDL_Renderer with the "software"
backend, which makes that request itself.
The way SDL decides if it should use a "texture framebuffer" needs dramatic
updating, but this solves the immediate problem.
Reference Issue #4624.
|
|
8ceba27d
|
2021-04-17T12:07:38
|
|
video: Prefer Wayland over X11
|
|
68a71f91
|
2022-01-25T11:18:04
|
|
wayland: Try to avoid committing before the window is shown
|
|
f0e768da
|
2022-01-25T13:07:00
|
|
wayland: Call SetFullscreen directly in ShowWindow.
This cuts out an extra flush when getting the first configure event.
|
|
8c660ccb
|
2022-01-25T17:14:01
|
|
Fixed bug #5256: X11 Segmentation fault with multiple windows and renderers
First window is created and it triggers and 'EnterNotify' event
which calls SDL_SetMouseFocus() and X11_ShowCursor() while the second
windows hasn't finished to be created (eg window->driverdata isn't set)
Just check for a valid 'driverdata'
|
|
e2d74bcb
|
2022-01-25T11:16:09
|
|
wayland: Detach hidden surfaces in HideWindow, not ShowWindow
|
|
57bc9040
|
2022-01-07T08:54:08
|
|
Add hint to optionally forcibly raise the window under MS Windows.
|
|
d7873e65
|
2022-01-04T15:47:29
|
|
Disable tablet flicks under MS Windows.
|
|
53df0e66
|
2022-01-21T17:15:18
|
|
Fix the erroneous generation of mouse-down events from touch-move events.
The issue is that MS Windows synthesizes a mouse-move event in response
to touch-move events, and those mouse-move events are NOT labeled as
coming from a touch (e.g. GetMouseMessageSource() will not return
SDL_MOUSE_EVENT_SOURCE_TOUCH for those synthesized mouse-move events).
In addition, there seems to be no way to prevent this from happening;
https://gist.github.com/vbfox/1339671 claims to demonstrate a technique
to prevent it, but in my experience, it doesn't work.
Because of this, the "fallthrough" case can't test that the synthesized
mouse-move came from a touch-move, and starts erroneously pressing down
the mouse-button, leading to massive confusion in the client
application.
|
|
e1b4761c
|
2022-01-20T14:10:56
|
|
wayland: Avoid calling SetFullscreen in libdecor ShowWindow.
This caused some weird stuff to happen in the libdecor path, probably because
the window hasn't actually been mapped yet. It ends up calling stuff that
should not yet apply, and so fullscreen in particular would have a really
messed up titlebar.
The good news is, libdecor is good about tracking fullscreen state, so we can
let the callback do this for us. Keep this for xdg_shell because we actually
map the window ourselves, so we know this call is valid for that path.
|
|
ed3442d7
|
2022-01-19T15:47:52
|
|
wayland: Fix building with SDL_OPENGL=OFF
|
|
d3952a8a
|
2022-01-16T15:14:33
|
|
wayland: Avoid spurious resize events
|
|
2a0cde8f
|
2022-01-16T09:40:51
|
|
Always send SDL_WINDOWEVENT_SIZE_CHANGED when window is resized
SDL_WINDOWEVENT_SIZE_CHANGED is now sent even if the resulting size of the window does not match the requested size.
|
|
9a2bbd8a
|
2022-01-12T13:01:05
|
|
wayland: Convert URI to local path for DropFile
|
|
bff86701
|
2022-01-12T06:47:02
|
|
haiku: updated for Haiku
|
|
5b6e2d69
|
2022-01-12T11:01:02
|
|
SDL_os2messagebox.c (_makeDlg): remove unnecessary casts
|
|
42302d0a
|
2022-01-11T21:17:21
|
|
x11: Let apps specify a custom _NET_WM_WINDOW_TYPE.
Fixes #5185.
|
|
ea0bca57
|
2022-01-11T14:56:56
|
|
SDL_cocoamodes.m: fix build against older SDKs.
Fixes https://github.com/libsdl-org/SDL/issues/5208
|
|
3e1b3bc3
|
2022-01-10T10:07:44
|
|
wayland: Horizontal wheel values do not need to be inverted
|
|
9e6249fa
|
2022-01-08T19:24:47
|
|
wayland: Avoid spurious key repeats when not pumping events
Previous to this commit, key repeats events were typically generated when
pumping events, based on the time of when the events are pumped. However,
if an application doesn't call `SDL_PumpEvents` for some seconds, this time
can be multiple seconds in the future compared to the actual key up event time,
and generates key repeats even if a key was pressed only for an instant.
In practice, this can happen when the user presses a key which causes the
application to do something without pumping events (e.g. load a level).
In Crispy Doom & PrBoom+, when the user presses the key bound to "Restart
level/demo", the game doesn't pump events during the "screen melt" effect,
and the level is restarted multiple times due to spurious repeats.
To fix this, if the key up event is among the events to be pumped, we generate
the key repeats there, since in the Wayland callback we receive the time when
the key up event happened. Otherwise, we know no key up event happened and we
can generate as many repeats as necessary after pumping.
Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>
|
|
461724d2
|
2022-01-08T19:09:35
|
|
wayland: Refactor time fields in SDL_WaylandKeyboardRepeat
Refactorization with no functional changes.
Instead of `next_repeat_ms` containing a timestamp based on SDL ticks, we make
it zero-based relative to the key press time, and we store the key press time in
SDL ticks in a new field.
This refactorization is groundwork for future commits which need to use the
key press and release timestamps provided by the Wayland API, which are also
expressed in milliseconds, but whose base does not match the one for SDL ticks.
Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>
|
|
fb0c3040
|
2022-01-08T21:10:14
|
|
wayland: Avoid infinite loop in keyboard_repeat_handle
If `repeat_info->next_repeat_ms` overflows, many key presses will be generated.
In the worst case, `now = 0xFFFFFFFFU` and the loop will never terminate.
Rearrange the comparison in order to gracefully handle the overflow case.
Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>
|
|
1085c317
|
2022-01-07T16:43:53
|
|
Use the requested cursor size instead of the default cursor size
CopyImage() will scale based on the system accessibility settings automatically.
Fixes https://github.com/libsdl-org/SDL/issues/5198
|
|
4b38d4c9
|
2022-01-07T12:37:28
|
|
Leave the Metal view active on the window when recreating the Metal renderer
Fixes https://github.com/libsdl-org/SDL/issues/5140
Also move the metal tag definition to SDL_syswm.h so it can be used by applications
|
|
957c48b4
|
2022-01-07T10:58:04
|
|
Fixed detecting focus change to child dialogs
Fixes https://github.com/libsdl-org/SDL/issues/5157
|
|
515b5f2a
|
2021-12-22T12:04:10
|
|
Fix build errors in PSP port
|
|
c3ec62d6
|
2021-01-09T11:25:39
|
|
PSP lazier blend states, display mode report with 16bit option
|
|
8f924b82
|
2022-01-03T16:41:03
|
|
kmsdrm: Remove gbm_bo_get_offset()
It is not present on some older libgbm versions that we still
support and has been unused since 85e8adf.
|
|
120c76c8
|
2022-01-03T09:40:00
|
|
Updated copyright for 2022
|
|
4b112620
|
2022-01-02T19:11:50
|
|
SDL_cocoamodes.m (Cocoa_GetDisplayDPI): fix build using older toolchains
Fixes https://github.com/libsdl-org/SDL/issues/5162
|
|
0403fa8a
|
2022-01-02T02:36:23
|
|
X11_WaitEventTimeout: remove unreachable return
If that condition was reachable, the return value should be negative to indicate that waiting for the timeout failed.
Otherwise, SDL_WaitEventTimeout would incorrectly return early.
|
|
8f816998
|
2021-12-31T08:46:54
|
|
Only clear IME display options if SDL_HINT_IME_SHOW_UI is off (thanks opxdo!)
Fixes https://github.com/libsdl-org/SDL/issues/5153
|
|
e4000c02
|
2021-12-31T10:30:51
|
|
video: SDL_GL_GetAttribute needs to operate on FBO 0.
If a different FBO is bound, this would return incorrect results.
Fixes #5082.
|
|
6a7b6380
|
2021-12-28T12:07:56
|
|
Fix macOS cursor jumping to corner on first titlebar click
|
|
a35a7d25
|
2021-12-25T05:00:26
|
|
Fix SigSegV from displayInfoInvalidate when changing resolution
|
|
1c41b535
|
2021-12-25T03:47:59
|
|
macOS: Calculate correct DPI by not using backingScaleFactor
|
|
a1e992b1
|
2021-12-21T22:07:17
|
|
Fixed bug #5118 - [Android] PointerIcon leak in Cursor API
|
|
71e3998d
|
2021-11-23T17:56:46
|
|
Make SDL_VideoInit cleanup when errors occur before video driver creation.
|
|
2052b5bc
|
2021-12-17T01:10:10
|
|
os2messagebox: use proper UCHAR* typecast in assignment, just in case.
|
|
ca18bf11
|
2021-12-16T12:01:18
|
|
Don't compare raw mouse button state with windows message button state
When mouse buttons are swapped, right mouse button down is the same value as raw mouse button up, and conceptually the two systems use different button masks, so never cache state between the two.
Fixes https://github.com/libsdl-org/SDL/issues/5108
|
|
4c9966ee
|
2021-12-16T10:22:27
|
|
wayland: Add a note for why we check 0,0 for fullscreen configurations
|
|
6101499c
|
2021-12-16T09:07:31
|
|
BigEndian: fix code that generates illegal instruction with gcc-4.9.2 on powerpc
Program received signal SIGILL, Illegal instruction.
X11_InitKeyboard (_this=0x1001f8f0)
at /home/sdl/SDL_git/src/video/x11/SDL_x11keyboard.c:273
273 XKeyboardState values = { .global_auto_repeat = AutoRepeatModeOff };
|
|
3a5e148b
|
2021-12-14T11:02:07
|
|
Renderer backends use SDL_Color instead of int for geometry colors.
|
|
e2ade2bf
|
2021-12-10T16:22:34
|
|
Fix build against wayland 1.20
Fixes #5088
|
|
9da93d07
|
2021-12-08T12:38:16
|
|
video: x11: Set XImage's byte_order field (fix #5081)
If the X server's byte order is different from the client, things might
display in the wrong colour.
Apparently we can just set the byte_order field to the client's byte
order, and the X server will adjust everything automatically:
https://xorg.freedesktop.narkive.com/GbSD1aPq/ximage-s-byte-order-field
|
|
e7f84c20
|
2021-12-09T10:40:53
|
|
Fix a typo in comment.
|
|
66fbf00e
|
2021-12-09T10:40:18
|
|
Temporarily ignore gl_config.driver_loaded check in Cocoa_GLES_SetupWindow.
|
|
cb8fa5f9
|
2021-12-04T03:50:12
|
|
wayland: fix keycodes of swapped xkb modifier keys
|
|
8d14e6ea
|
2021-12-08T14:01:02
|
|
replaced use of _MAX_PATH with CCHMAXPATH in os/2 code,
it now compiles without HAVE_LIBC
|
|
6f6382f8
|
2020-05-15T20:45:30
|
|
Fix SDL_GameController API for PSP (#3)
- Add missing mapping
- Make sure the only window has the keyboard focus (so no `SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS` is needed)
|
|
da0f76de
|
2021-12-07T00:38:46
|
|
cocoa: Don't round scroll deltas from trackpads
Rounding the scroll deltas from trackpads causes jerky scrolling behavior
by artificially amplifying the effects of very small scroll movements.
We should only round events from devices with discrete scroll wheels,
because we know the smallest unit of movement there is a single tick.
|
|
00014dc2
|
2021-12-07T18:47:10
|
|
fix some warnings from psp builds (missing includes.)
|
|
03019c91
|
2021-12-06T20:37:52
|
|
autotools, cmake: tighten Xfixes check && explicitly test BarrierEventID
Apparently the older versions of libXi doesn't have it. Fixes the build
break issue reported at:
https://github.com/libsdl-org/SDL/commit/4b42c05ba1eaaaa9a4ef803acea8f13402271039#commitcomment-61427659
|
|
a709b5b6
|
2021-12-04T14:14:47
|
|
video: wayland: Handle 0x0 xdg_toplevel_configure in fullscreen
The xdg_shell spec seems to state[1] that xdg_toplevel_configure events can
always provide a 0×0 width/height to signal that the compositor doesn't
care. SDL previously assumed the provided width/height was always valid
for fullscreen windows, and so applied it as-is.
This broke SDL applications on KDE/KWin 5.23, which now sends 0×0
configure events (and, in 5.23.3, 1×1 events for some reason), breaking
all SDL applications in fullscreen[2].
[1]: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/6
[2]: https://bugs.kde.org/show_bug.cgi?id=444962#c6
|
|
66b0a6ee
|
2021-12-01T01:33:57
|
|
workaround for libmali gbm_device_get_fd()
gbm_device_get_fd() in at least some libmali versions duplicates handle.
Other implementations do not do duplication. To prevent handle leak save
drm_fd in SDL_DisplayData.
|
|
662ea5ab
|
2021-12-01T01:40:24
|
|
minor correction after previous patch and minor tidy-up.
|
|
70c5e91d
|
2021-12-01T01:20:10
|
|
os/2 optionally builds against libiconv.
|
|
8c91cf7d
|
2021-11-30T12:36:46
|
|
Always create a full 256-entry map in case color values are out of range
Fixes https://github.com/libsdl-org/SDL/issues/5042
|
|
8589134f
|
2021-11-30T10:23:21
|
|
Fixed potential buffer overflow in YUV conversion
Fixes https://github.com/libsdl-org/SDL/issues/5043
|
|
715d4812
|
2021-11-29T22:43:25
|
|
windows: Fix GUI key state when grabbing the keyboard
When our keyboard grab hook is installed, GetKeyState() will return 0 for the
GUI keys even when they are pressed. This leads to spurious key up events when
holding down the GUI keys and the inability to use any key combos involving
those modifier keys.
|
|
f6fdbc1e
|
2021-11-29T21:16:15
|
|
video: x11: Fix an invalid SDL_LogError() call
This fixes a compile warning — and possible invalid memory read —
introduced in 9c03d255 ("Add back X11 legacy WM_NAME encodings"), which
was part of PR #5029, fixing Bug #4924.
The issue is with one of the added warnings in X11_GetWindowTitle().
Basically, the "title" variable passed to SDL_LogError() hasn't been
initialised yet: we could pass propdata in directly, but it's better to
move the SDL_LogError() call until after title is set, IMHO.
This fixes the following warning from gcc (SUSE Linux) 11.2.1:
In file included from /home/david/Development/SDL/src/video/x11/../../SDL_internal.h:45,
from /home/david/Development/SDL/src/video/x11/SDL_x11window.c:21:
/home/david/Development/SDL/src/video/x11/SDL_x11window.c: In function 'X11_GetWindowTitle':
/home/david/Development/SDL/src/video/x11/../../dynapi/SDL_dynapi_overrides.h:33:22: warning: '%s' directive argument is null [-Wformat-overflow=]
33 | #define SDL_LogDebug SDL_LogDebug_REAL
/home/david/Development/SDL/src/video/x11/SDL_x11window.c:720:13: note: in expansion of macro 'SDL_LogDebug'
720 | SDL_LogDebug(SDL_LOG_CATEGORY_VIDEO, "Failed to convert WM_NAME title expecting UTF8! Title: %s", title);
| ^~~~~~~~~~~~
|
|
b5d47aa2
|
2021-11-28T23:15:31
|
|
Fix comment style for old compilers (`//`⇒`/**/`)
|
|
367684b0
|
2021-11-28T22:56:24
|
|
Add patches suggested by @slouken in round 1 review
|
|
9c03d255
|
2021-11-28T16:18:39
|
|
Add back X11 legacy WM_NAME encodings
Closes #4924.
Based on patches of the past, such as this work by James Cloos in July
2010:
https://github.com/exg/rxvt-unicode/commit/d7d98751b7385416ad1694b5f1fde6c312ba20d5,
as well as code comments in the Perl module X11::Protocol::WM
(https://metacpan.org/pod/X11::Protocol::WM) and even the code to Xlib
itself, which taught me that we should never have been using
`XStoreName`, all it does is call `XChangeProperty`, hardcoded to
`XA_STRING`!
What can I say, when the task is old school, the sources are too 😂
|
|
72e53e4b
|
2021-11-28T19:25:22
|
|
wayland: Clear driverdata before calling ResetDisplayModes
|
|
942973dd
|
2021-11-28T09:27:28
|
|
Use mouse ID 0 for raw mouse events
We don't track state for each mouse individually, so we should just use the global mouse ID for all events.
Fixes https://github.com/libsdl-org/SDL/issues/5026
|
|
11a9cd63
|
2021-11-27T08:14:50
|
|
Fixed building SDL on UWP
|
|
4e5839a5
|
2021-11-26T13:45:08
|
|
Fixed compiling for Raspberry Pi
|
|
57366285
|
2021-11-23T20:14:18
|
|
Only send display events for hotplugged displays, not the initial state
|
|
381f99a3
|
2021-11-23T10:58:04
|
|
Fix warnings: re-add enum forward declaration
|
|
dd6817b3
|
2021-11-23T10:47:34
|
|
Fix warnings: static function, {} initializier, un-needed enum forward declaration
|
|
fae70349
|
2021-11-23T10:33:12
|
|
Fix warnings: static, include, un-initialized vairables
|
|
9c72adc8
|
2021-11-23T09:41:01
|
|
More "Integer overflow generates Illegal instruction under sanitizers" (see bug #4995)
|
|
8dd6edec
|
2021-11-23T09:30:42
|
|
Fixed bug #3232 - Integer overflow generates Illegal instruction under sanitizers + see bug #4995
|
|
cb9f85e8
|
2021-11-22T11:18:01
|
|
Don't use "round", so that it's doesn't show up while searching for the function
|