|
fe396e30
|
2022-11-19T11:28:31
|
|
wayland: Use the cached window size when switching from non-floating to floating window state
When changing the window state from non-floating to floating (e.g. leaving fullscreen), libdecor can send bogus content sizes that are +/- the height of the window title bar and start 'walking' the window height in one direction or the other with every transition.
The floating window size is known, so use the cached value instead of the size reported by libdecor when restoring the floating state.
|
|
ff99e56d
|
2022-11-18T12:54:55
|
|
Fixed KMSDRM window creation failing if OpenGL libraries are not available, but GLES 2.0 libraries are
|
|
da9ba3a2
|
2022-11-18T12:17:27
|
|
If a CRTC doesn't have a mode configured, use the preferred or largest mode as the default mode
Fixes https://github.com/libsdl-org/SDL/issues/6421
|
|
81479d87
|
2022-11-18T21:08:36
|
|
wayland: keyboard: Cache text input parameters.
Some applications (and embarrassingly, testime is one of them) call
SDL_StartTextInput() or SDL_SetTextInputRect() every frame. On KDE/KWin
with fcitx5, this causes there to be several preedit events every frame
(particularly given some of the workarounds in Wayland_StartTextInput),
which slows testime down to an unusable crawl.
Instead, make SDL_StartTextInput() a no-op if text input is already
enabled, and cache the input rect, only changing it when the new rect is
actually different.
With these changes, we only get preedit events (and hence
SDL_TEXTEDITING events) when the preedit string actually changes. This
matches the behaviour under XWayland, and works very smoothly.
|
|
16824865
|
2022-11-18T11:01:21
|
|
Cleanup of SDL_SetError that already return -1 value
|
|
3e70553c
|
2022-11-18T11:06:49
|
|
Unneed test before calling SDL_FreeSurface
|
|
ddad901c
|
2022-11-17T10:43:45
|
|
Remove unneeded semicolon
|
|
77bcd269
|
2022-11-16T22:23:16
|
|
Allow creating an empty surface with pitch 0
This fixes Maelstrom, which creates an empty staging surface and then uses it for transfer to texture
|
|
913e403f
|
2022-11-16T18:03:29
|
|
Fixed error message when trying to create an OpenGLES2 renderer on macOS
Testing: testsprite2 --renderer opengles2
OpenGLES2 isn't available by default, and we want to see the error "Could not load EGL library"
|
|
fcc994e1
|
2022-11-16T17:39:55
|
|
ensure that SDL2 does not set conflicting window flags (thanks @pionere!)
|
|
ce5da5d5
|
2022-11-16T21:47:43
|
|
Don't compare pointer against '0', but NULL
|
|
1d7966df
|
2022-11-16T21:27:16
|
|
Remove un-needed check for NULL pointer. They were previously checked just before.
|
|
389ffab7
|
2022-11-16T12:53:48
|
|
Code style fixes, etc.
Reference PR #6345.
|
|
ec58a817
|
2022-10-05T19:26:09
|
|
Fixes made in response to running a static code analyzer under MS Windows.
Most of these are probably harmless, but the changes to SDL_immdevice.c and SDL_pixels.c appear to have fixed genuine bugs.
SDL_audiocvt.c: By separating the calculation of the divisor, I got rid of the suspicion that dividing a double by an integer led to loss of precision.
SDL_immdevice.c: Added a missing test, one that could have otherwise led to dereferencing a null pointer.
SDL_events.c, SDL_gamecontroller.c, SDL_joystick.c, SDL_malloc.c, SDL_video.c: Made it clear the return values weren't used.
SDL_hidapi_shield.c: The size is zero, so nothing bad would have happened, but the SDL_memset() was still being given an address outside of the array's range.
SDL_dinputjoystick.c: Initialize local data, just in case IDirectInputDevice8_GetProperty() isn't guaranteed to write to it.
SDL_render_sw.c: drawstate.viewport could be null (as seen on line 691).
SDL.c: SDL_MostSignificantBitIndex32() could return -1, though I don't know if you want to cope with that (what I did) or SDL_assert() that it can't happen.
SDL_hints.c: Replaced boolean tests on pointer values with comparisons to NULL.
SDL_pixels.c: Looks like the switch is genuinely missing a break!
SDL_rect_impl.h: The MacOS static checker pointed out issues with the X comparisons that were handled by assertions; I added assertions for the Y comparisons.
SDL_yuv.c, SDL_windowskeyboard.c, SDL_windowswindow.c: Checked error-result returns.
|
|
7ebdae5d
|
2022-11-16T11:45:41
|
|
cocoa: Fix OpenGL deprecation warning.
|
|
7c760f7f
|
2022-11-16T11:32:08
|
|
cocoa: Update CVDisplayLink timing when screen changes.
This handles both the window moving to a new display and
changing the current display's refresh rate in System
Preferences
Reference Issue #4918.
|
|
1fd66cc8
|
2022-11-16T10:15:21
|
|
Revert "cocoa: Backed out CVDisplayLink code for macOS vsync."
This reverts commit 04b50f6c6bef67b744b192c78775771b51ff2141.
It turns out OpenGL vsync has broken again in macOS 12, so
we're reintroducing our CVDisplayLink code to deal with it,
again.
Reference Issue #4918.
|
|
903301c6
|
2022-11-16T02:04:59
|
|
wayland: Always use integer scaling for cursors.
Cursors don't get fractionally scaled, so always scale system cursor sizes to the next whole integer.
|
|
c8551847
|
2022-11-04T12:41:46
|
|
wayland: Handle virtual keyboards that don't fit the X mapping
SDL is built around the concept of keyboards having a fixed layout with scancodes that correspond to physical keys no matter what linguistic layout is used. Virtual keyboards don't have this concept and can present an arbitrary layout of keys with arbitrary scancodes and names, which don't fit the SDL model. When one of these keyboards is encountered, it requires special handling: use the keysym of the pressed keys to derive their ANSI keyboard scancode equivalents for control keys and ASCII characters. All other characters are passed through as text events only.
|
|
0e446c54
|
2022-11-04T12:27:36
|
|
events: Factor out the xkb keysym to scancode conversion from the X11 driver
|
|
44d7b8b9
|
2022-11-15T13:57:01
|
|
egl: Check for a NULL pointer in SDL_EGL_GetProcAddress.
This happens on kmsdrm if you try to GetProcAddress before creating
a window.
Fixes #5399.
|
|
f3cc99fb
|
2022-11-15T13:56:44
|
|
x11: Minor style fixes for recent OSK changes
|
|
70656b13
|
2022-11-15T10:18:41
|
|
Don't recreate the window when creating a Metal renderer on an OpenGL window.
It turns out that we can safely create a Metal view on an existing window, and that avoids issues with the window being recreated with the wrong orientation in iOS 16.
Fixes https://github.com/libsdl-org/SDL/issues/6289
|
|
80ff20f6
|
2022-11-14T23:56:20
|
|
N3DS: Set keyboard focus to newly created windows.
This fixes polling issues with Joystick subsystem where
`SDL_PrivateJoystickShouldIgnoreEvent` would always return true, thus
ignoring all inputs.
|
|
a40b7cde
|
2022-11-14T13:03:52
|
|
Workaround for views being in portrait instead of landscape mode on iOS 16
Fixes https://github.com/libsdl-org/SDL/issues/6289
|
|
dad8df3e
|
2022-11-14T08:20:31
|
|
video: check graphics flags the same way in SDL_RecreateWindow as in SDL_CreateWindow
- single check to validate the graphics flags
- check it before tearing down the window
|
|
eef4d3c8
|
2022-11-13T16:56:04
|
|
wayland: Clamp wl_seat version on older versions of libwayland
Clamp the wl_seat max version to 5 if being built against a version of libwayland below 1.21.0, or containers that bundle newer versions of SDL with older versions of libwayland can break if the compositor advertises support for a protocol version above 5.
|
|
67498926
|
2022-11-13T11:09:20
|
|
Fixed warning
Fixes https://github.com/libsdl-org/SDL/issues/5842
|
|
c4b9f621
|
2022-11-13T12:45:13
|
|
x11: Add support for the Steam Deck on-screen keyboard
|
|
5f2a1231
|
2022-11-13T08:00:03
|
|
video: check graphics flags the same way as the type flags
|
|
22354b41
|
2022-11-12T08:29:15
|
|
video: simplify window-type check in SDL_CreateWindow
|
|
875e9b35
|
2022-10-26T15:19:28
|
|
N-Gage: additional cleanup
|
|
afbafc2a
|
2022-10-21T08:11:48
|
|
Remove redundant dependency to bitdraw.h, minor cleanup
|
|
d09edcbc
|
2022-11-11T12:10:27
|
|
video: sync Metal_CreateView with GL_CreateContext and Vulkan_CreateSurface
no need to check if _this->Metal_CreateView, since it is already checked in Re(create)Window
|
|
b71d9274
|
2022-11-11T12:09:15
|
|
video: add NOT_AN_OPENGL_WINDOW define (similar to NOT_A_VULKAN_WINDOW)
|
|
36c6ed4b
|
2022-11-11T08:33:55
|
|
video: add SDL_DllNotSupported
- add SDL_DllNotSupported and use it to sync the behavior of SDL_GL_LoadLibrary with SDL_Vulkan_LoadLibrary
|
|
f430ef5d
|
2022-11-10T17:27:48
|
|
Don't change the window position when creating it on iOS, it is already placed on the correct display
|
|
29cafa9c
|
2022-11-10T08:23:16
|
|
add SDL_ContextNotSupported and validate flags in SDL_RecreateWindow similar to SDL_CreateWindow
|
|
1008cc8e
|
2022-11-09T12:55:27
|
|
video: Add some braces to match SDL coding style.
|
|
ac3349fa
|
2022-11-09T09:11:04
|
|
solve FIXMEs in SDL_video.c
|
|
5dc93451
|
2022-11-06T20:49:37
|
|
JANITORIAL : Correct some more spelling mistakes (#6489)
|
|
c2675d74
|
2022-11-06T10:52:20
|
|
Revert "cocoa: Discard the IME Candidate Window immediately when Escape is pressed"
This reverts commit 0d76e2a8a1a8e6a2801123587c2205a288d49406, as it introduced other issues:
https://github.com/libsdl-org/SDL/pull/6486#issuecomment-1304684865
|
|
0d76e2a8
|
2022-11-06T04:59:02
|
|
cocoa: Discard the IME Candidate Window immediately when Escape is pressed
|
|
689218eb
|
2022-11-04T12:07:20
|
|
Fix wayland reconnection paths
Most of this code is disabled out for now.
- For mouse cursors we have a wl_surface for both system and custom
cursors which needs recreating.
- The other patch is about nullification after deletions
|
|
084fa4c3
|
2022-11-01T10:55:17
|
|
cocoa: Reset IME when sending composed text
This will send an empty `TEXTEDITING` event that is used to signal the
end of the composition.
|
|
70a41f9b
|
2022-11-01T09:59:16
|
|
wayland: Read `window` data only if `window` is valid
|
|
33a43005
|
2022-10-31T12:23:51
|
|
wayland: Don't modify the mouse capture flag in relative mode
If relative mouse mode is explicitly enabled, don't modify the capture flag on button events or the window might report having lost mouse focus if a button is pressed while moving the cursor.
|
|
678ef797
|
2022-10-30T08:53:34
|
|
SDL_KMSDRMOPENGLES.H: Correct spelling mistakes
begining -> beginning
beggining -> beginning
|
|
571ff1a3
|
2022-10-30T00:19:09
|
|
wayland: Prepare cursor implementation for reconnect support
Co-authored-by: David Edmundson <kde@davidedmundson.co.uk>
|
|
9c8b1fd8
|
2022-10-29T22:34:05
|
|
wayland: Cleanup work to aid reconnect support
Co-authored-by: David Edmundson <kde@davidedmundson.co.uk>
|
|
4556074e
|
2022-10-29T09:35:07
|
|
Re-set the maximize state if we were maximized while fullscreen
|
|
ab06a307
|
2022-10-29T09:21:17
|
|
Don't report windows being maximized when fullscreen on X11
This is a functional state for some window managers (tested using stock Ubuntu 22.04.1), and removing that state, e.g. using SDL_RestoreWindow(), results in a window centered and floating, and not visually covering the rest of the desktop.
|
|
b9e1d1b4
|
2022-10-09T19:49:34
|
|
events: Rename SDL_SendKeyboardKeyComplete to SDL_SendKeyboardKeyAndKeycode.+
|
|
92215481
|
2022-10-09T19:33:52
|
|
emscripten: Make an attempt at correct keyboard scancode/keycodes.
This uses a newer browser API to get physical scancodes, but still
uses the (deprecated) event field that we were already using for
scancodes, but for keycodes instead now, which appears to be more
accurate.
Since keyboard layout isn't (generally) available to web apps, this
adds an internal interface to send key events with both scancode
and keycode to SDL's internals, instead of sending just scancodes and
expecting SDL to use its own keymap to generate keycodes.
Future work in this area would be to use the keyboard layout APIs
on browsers that support them, which would allow us to use SDL's
usual keymap code and not rely on a deprecated browser API, but
until we get there, this patch gives significantly more correct
results than we would have before.
Fixes #2098.
|
|
f500c147
|
2022-10-28T08:39:02
|
|
Fixed DirectFB build
|
|
9e8d2f39
|
2022-10-27T13:54:53
|
|
video: Don't use texture framebuffer on Windows Subsystem for Linux.
Reference Issue #6333.
|
|
4223e6ac
|
2022-10-26T13:14:50
|
|
wayland: Early-out sooner when requesting fullscreen on a popup
Exit the fullscreen sequence sooner if it is requested that a popup window be fullscreen.
The surface commit formerly in this path is irrelevant and can be removed as previous changes made it so that SetFullscreen() is no longer called from anywhere except Wayland_SetWindowFullscreen().
|
|
41d38c0f
|
2022-10-26T09:43:04
|
|
shape: More robust handling of failure cases in CreateShaper.
|
|
c8d20f96
|
2022-10-25T23:13:34
|
|
shape: Free platform-specific shaped window data.
Fixes #2128.
|
|
30c2dac7
|
2022-10-25T20:00:38
|
|
wayland: Remove duplicate #include statement
|
|
b6cf889a
|
2022-10-25T15:09:43
|
|
Use ScreenCount() instead of SDL_GetNumVideoDisplays()
The limitation appears to be specific to multi-screen setups
|
|
e3f5744d
|
2022-10-25T12:14:00
|
|
Don't use XIWarpPointer() on multi-display configurations
|
|
20beed30
|
2022-10-25T14:56:32
|
|
SDL_EGL_GetProcAddress: remove unnecessary underscore-prepended search.
Closes https://github.com/libsdl-org/SDL/issues/6236.
|
|
053b5f85
|
2022-08-25T20:18:03
|
|
SDL_windowsevents: minimize white screen flash on window creation
Clear the window to black on the initial window draw, to avoid a really
obnoxious white flash. This doesn't always eliminate it, but it
definitely minimizes it.
|
|
d2300516
|
2022-09-07T06:49:02
|
|
cocoa: set sRGB colorspace on nswindow
This makes the colorspace match across different graphics APIs. By
default, OpenGL was getting a much more saturated colorspace (maybe
Display P3?) and it was looking very different from the rendering done
by Metal or MoltenVK.
|
|
019e9d4c
|
2022-08-25T23:15:58
|
|
SDL_cocoavideo.m: add missing SDL_cocoaopengles.h include
|
|
8db3a338
|
2022-10-23T15:45:20
|
|
#6433 Fix WINRT_IsScreenKeyboardShown on Xbox
|
|
413500ab
|
2022-10-22T09:37:34
|
|
Replaced mouseWheelGesture with GCMouse support on iOS (thanks @russelltg!)
Fixes https://github.com/libsdl-org/SDL/issues/6411
|
|
2ebaafa6
|
2022-10-18T21:02:49
|
|
Use translationInView for mouse wheel event
|
|
0e1d19cf
|
2022-10-22T18:56:40
|
|
fix build errors resulting from -Wmisleading-indentation
|
|
a905a786
|
2022-10-22T08:50:18
|
|
Clear the previous bitmap when calculating a new window shape
Fixes https://github.com/libsdl-org/SDL/issues/6428
|
|
7e108816
|
2022-10-18T01:07:54
|
|
Fixed command modifier on macOS
|
|
cdf312c8
|
2022-10-18T00:48:55
|
|
Fixed mouse warp after resizing window on macOS.
|
|
7c7cd2a6
|
2022-10-17T14:04:29
|
|
Fix issue #6037 (incorrect modifier flags on Wayland)
|
|
ed412c13
|
2022-10-15T14:05:35
|
|
wayland: Cleanup event source comments, headers, and error reporting
Replace instances of fprintf(stderr, ...) with SDL_SetError(), replace C++ comments with C style, use a uniform format for multi-line comments, and remove unused headers as poll and select aren't used in this file (the SDL function which calls them is used instead).
|
|
62047686
|
2022-10-13T16:24:13
|
|
wayland: Don't block on libdecor_dispatch()
libdecor_dispatch() needs to be called, as libdecor plugins might do some required internal processing within, however care must be taken to avoid double-blocking in the case of a timeout, which can occur if libdecor_dispatch() and the SDL event processing both work on the main Wayland queue. Additionally, assumptions that libdecor will always dispatch the main queue or not process zero-length queues (can occur if a wait is interrupted by the application queueing an event) should not be made, as this behavior is outside the control of SDL and can change.
SDL handles polling for Wayland events and then calls libdecor to do its internal processing and dispatch. If libdecor operates on the main queue, it will dispatch the queued events and the additional wl_display_dispatch_pending() call will be a NOP. If a libdecor plugin uses its own, separate queue, then the wl_display_dispatch_pending() call will ensure that the main queue is always dispatched.
|
|
e89389ba
|
2022-10-14T20:41:10
|
|
wayland: Use MAP_PRIVATE when mapping the keyboard keymap file descriptor
Per the Wayland spec, this must be mapped with MAP_PRIVATE in version 7 of the protocol and higher.
|
|
91ff8845
|
2022-10-13T23:56:17
|
|
Disable "The key you just pressed is not recognized by SDL." message by default
|
|
13919214
|
2022-10-13T23:23:55
|
|
Fixed reported cases of "Keyboard layout unknown" messages
In all cases they were using SDL_SCANCODE_TABLE_XFREE86_2 with some keycodes remapped or fewer than expected keycodes. This adds a sanity check that catches all of them and gives them the right scancode table.
|
|
2c192385
|
2022-10-13T22:50:57
|
|
Don't remove entries from an existing scancode keymap
If we can't find the X11 keysym, it's likely that either the keysym is NoSymbol, in which case we won't hit it anyway, or it's been mapped to a character, in which case the existing mapping is correct for the scancode and the character will be reflected in the keycode mapping.
|
|
99f2a503
|
2022-10-13T22:40:24
|
|
X11 scancode mapping cleanup
* Consolidated scancode mapping tables into a single location for all backends
* Verified that the xfree86_scancode_table2 is largely identical to the Linux scancode table
* Updated the Linux scancode table with the latest kernel keycodes (still unmapped)
* Route X11 keysym -> scancode mapping through the linux scancode table (which a few hand-written exceptions), which will allow mappings to automatically get picked up as they are added in the Linux scancode table
* Disabled verbose reporting of missing keysym mappings, we have enough data for now
|
|
f5afb7d1
|
2022-10-13T18:44:15
|
|
directfb: Fix return type of DirectFB_RenderPresent()
|
|
6836273d
|
2022-10-12T00:17:50
|
|
Use XIWarpPointer if compiled with xinput2
Co-authored-by: Andrei E <andreien@proton.me>
|
|
be2cb000
|
2022-10-11T11:16:52
|
|
wayland: Check for the input handle before checking the keyboard handle
|
|
0b88e609
|
2022-10-11T07:40:35
|
|
wayland: Raise wl_seat maximum version to 8
Version 8 is required for supporting axis_value120 high-resolution scroll events.
|
|
8117bfe5
|
2022-10-10T22:29:31
|
|
PS2: Ignore warnings from toolchain headers.
The `gsInline.h` header creates `Wdeclaration-after-statement` warnings.
|
|
5ddac7e0
|
2022-10-10T22:04:02
|
|
PSP: Fix type mismatch warnings.
|
|
669532d5
|
2022-10-10T22:01:49
|
|
PSP: Remove dead code.
Fixes unused variable warning.
|
|
45070835
|
2022-10-10T09:39:55
|
|
Fixed build
|
|
680d0f04
|
2022-10-10T09:26:49
|
|
Added support for undefined or centered position for shaped windows
Fixes https://github.com/libsdl-org/SDL/issues/6359
|
|
efc93e68
|
2022-09-18T15:17:08
|
|
N3DS: Don't set `num_display` by hand.
Doing so creates 2 empty displays at the beginning of the list.
|
|
83ec6062
|
2022-09-18T13:46:09
|
|
N3DS: Move gfxInit and hidInit from main to video.
|
|
266014fa
|
2022-09-18T13:38:26
|
|
N3DS: Use SDL_Touch instead of the Joystick touch.
|
|
f9785702
|
2022-09-18T13:22:07
|
|
N3DS: Deduce screen from window's display.
This removes the need for a dedicated window creation flag.
|
|
65527537
|
2021-03-30T04:32:39
|
|
N3DS port (squashed)
A dedicated renderer using Citro3D would likely allow for better
much better graphical performances.
|
|
61b5360e
|
2022-10-10T08:27:42
|
|
Only check to see if the ICC profile changes when the display changes or we gain focus
Fixes https://github.com/libsdl-org/SDL/issues/6366
|
|
6391ad97
|
2022-10-09T11:11:55
|
|
wayland: Factor out common libdecor frame commit code
The pattern of:
libdecor_state_new()
libdecor_frame_commit()
libdecor_state_free()
was used in several places. Factor it out into a common function.
|
|
b0a9396b
|
2022-10-09T11:06:20
|
|
wayland: Remove XDG surface geometry calls
These were needed to fix some buggy behavior regarding committing old buffer sizes when entering fullscreen that has since been corrected. Remove them.
|
|
b91ddbc3
|
2022-10-09T06:15:18
|
|
wayland: null-terminate drop data
|
|
eb8eb621
|
2022-10-06T22:49:17
|
|
SDL_x11modes: fix -Wunused-variable
|