If cmake is invoked with -DSDL_ALSA=OFF, the misleading warning
message "Unable to find the alsa development library" is printed.
It's misleading because no attempt was actually made to find the ALSA
development library. It's always printed by the CheckALSA macro if
SDL_ALSA is false.
This commit moves this warning message in the CheckALSA macro to being
printed if ALSA_FOUND is false. However, I don't see an explicit warning
message like this for the other macros that search for development
libraries, so I wonder if the message shouldn't just be removed
entirely. It seems redundant with the "Could NOT find ALSA ..." message
generated by cmake.
Before this commit:
$ cmake -B build -DSDL_ALSA=OFF
[...]
CMake Warning at cmake/sdlchecks.cmake:125 (message):
Unable to find the alsa development library
Call Stack (most recent call first):
CMakeLists.txt:1530 (CheckALSA)
[...]
-- Options:
-- SDL_ALSA (Wanted: OFF): OFF
[...]
$ cmake -B build -DSDL_ALSA=ON
[...]
-- Could NOT find ALSA (missing: ALSA_LIBRARY ALSA_INCLUDE_DIR)
[...]
-- Options:
-- SDL_ALSA (Wanted: ON): OFF
[...]
After this commit:
$ cmake -B build -DSDL_ALSA=OFF
[...]
-- Options:
-- SDL_ALSA (Wanted: OFF): OFF
[...]
$ cmake -B build -DSDL_ALSA=ON
[...]
-- Could NOT find ALSA (missing: ALSA_LIBRARY ALSA_INCLUDE_DIR)
CMake Warning at cmake/sdlchecks.cmake:123 (message):
Unable to find the alsa development library
Call Stack (most recent call first):
CMakeLists.txt:1530 (CheckALSA)
[...]
-- Options:
-- SDL_ALSA (Wanted: ON): OFF
[...]
All of the cmake invocations above were without the libasound2-dev
package installed.
- Add a globally-accessible function to handle the parsing of filter extensions
- Remove the ability of putting the wildcard ('*') among other patterns; it's either a list of patterns or a single '*' now
- Add a hint to select between portals and Zenity on Unix
Using the current window size at the time of the call may not be correct if the window or buffer size was changed after the fact, so always set the damage region to cover the entire buffer.
For whatever reason, `ExtractIconEx` returns icons whose sizes are
inappropriate for the current DPI, resulting in terribly-blurry
window icons at higher DPIs.
To solve this, the window icon is now set to the first icon group
that is present in the executable. This behaviour should match what
Explorer does. By selecting an icon group instead of a specific icon,
Windows is free to select the icon within the group that best suits
the current DPI.
(cherry picked from commit 1fa6142903b88007c7b77d324ee78fad9966871a)
Otherwise, they might find out strings with malformed UTF-8 sequences produce
a different amount of codepoints than the count returned here, overflowing
buffers that might be allocated based on the results.
This fixes an macOS bug that is only known to occur in fullscreen windows on the built-in displays of newer MacBooks with camera notches. When the mouse is moved near the top of such a window (within about 44 units) and then moved back down, the cursor rects aren't respected. This can cause the default cursor to be visible when it should not be.
(cherry picked from commit f1690e265e306818882c7c876a9e85492eeefa42)
GetSystemTimePreciseAsFileTime is only available on Win8/Server 2012 or higher, so it must be dynamically loaded and only used if available. Fixes compatability with Win7 and XP.