forked from libsdl-org/SDL
-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge SDL3 upstream #108
Merged
Merged
Merge SDL3 upstream #108
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…implify the checks
…ate requests Video backends that run asynchronously can wind up in a race situation if a mode or position update request queues up a fullscreen enter request while an unprocessed asynchronous leave request is in flight, and the mode switch or position update request is processed after the leave request, causing the window to erroneously return to fullscreen. Instead of the internal SDL_UpdateFullscreenMode and backend SetWindowFullscreen functions taking a boolean value, use an enum that allows the backends to distinguish between "this is an explicit fullscreen enter/leave request", and "this is an update request to change the mode or position". Communicating the specific intent allows the backend to early-out when required, which prevents windows from erroneously returning to fullscreen due to update requests made after a leave request, and allows for the removal of some internal synchronization previously needed to (attempt to) work around this, which improves overall performance while also increasing robustness. This is only relevant to the internal functions, and nothing in the public-facing API has been changed.
In some cases, size data set programmatically could be overwritten by old configuration data, particularly when on the display scaling path. This refactors the configuration code to be much more strict and verbose regarding the handling of window sizes, which fixes some scenarios where tests were failing when display scaling was activated.
Reference Issue #9812.
Reference Issue #9812.
Otherwise, it thinks SDL_CreateThread, etc, are real functions. Reference Issue #9890.
The wp_alpha_modifier_v1 protocol allows for a global blending factor to be specified for an entire surface. Use this to add support for SDL_SetWindowOpacity().
Older MinGW releases don't ship d3d12sdklayers.h
Ubuntu 22.04 ships with mingw that does not support direct3d12. [ci skip]
…h if you happen to get the offscreen driver and try to use vulkan. Enable offscreen video driver in windows to make it easier to test. Enable offscreen video driver in macos just to complete the desktop computer trio.
Note that Wayland places a restriction on windows being resized, where the requested size passed to the configuration event is a maximum, and attempting to exceed it is a protocol violation, so trying to grow the window by dragging the sides only vertically or horizontally is limited, as the provided dimensions can't be exceeded. In practice, nothing seems to kill clients that do this, but the more immediate problem is that doing so causes GNOME to glitch out.
This adds support for pasting large clipboard contents using the INCR property mechanism Fixes #8871
to make sure DISPLAYCONFIG_SDR_WHITE_LEVEL is visible to us.
Otherwise, the window manager can think that the window is larger than it is and try to reposition it.
/tmp/SDL3/src/video/windows/SDL_windowswindow.c: In function 'WIN_SetWindowPositionInternal': /tmp/SDL3/src/video/windows/SDL_windowswindow.c:216:17: warning: 'h' may be used uninitialized in this function [-Wmaybe-uninitialized] rect.bottom = *height; ~~~~~~~~~~~~^~~~~~~~~ /tmp/SDL3/src/video/windows/SDL_windowswindow.c:320:12: note: 'h' was declared here int w, h; ^ /tmp/SDL3/src/video/windows/SDL_windowswindow.c:215:16: warning: 'w' may be used uninitialized in this function [-Wmaybe-uninitialized] rect.right = *width; ~~~~~~~~~~~^~~~~~~~ /tmp/SDL3/src/video/windows/SDL_windowswindow.c:320:9: note: 'w' was declared here int w, h; ^
…t32', possible loss of data
Only cut events that don't pass the user filter instead of flushing the entire list. Fixes #9592
Don't flush the event queue if the filter paramter is NULL.
.. and change hdr code's display config function calls to use those function ptrs.
…ent" This reverts commit 09fbb2a. This was causing issues in CS2 and DOTA: https://old.reddit.com/r/DotA2/comments/1d4bqe3/dota_2_sound_crackling_since_this_morning/ https://old.reddit.com/r/DotA2/comments/1d44udf/anyone_having_sound_issues_or_any_clue_how_to_fix/
why haven't any of the build tests catch this..
Custom theme file exists in project, but is not used by app, which is kinda unintuitive. Using it by default so people who not familiar with Android development won't spend lots of time troubleshooting.
The 'all-in-one' test fails for Emscripten because try_compile does not copy back the actual binary: the wasm file contains the machine parseable strings, not the html or js file(s).
A leak was present at exit time on the Emscripten platform
This prevents the GNOME window manager from moving the window to a different display before the window goes fullscreen. Fixes #9915
…ndows in Cocoa_SetWindowSize
…less window created as fullscreen Borderless windows flagged as fullscreen at creation time turn on the borders, because doing so prevents some window managers from wrongly positioning the borderless window, and in these cases the borders need to be removed whether fullscreen is exited programmatically or via a compositor event. Set a flag when forcing the borders on, so they will be removed in all cases later.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.