Adds an option to the context menu of a windowed projector to allow
resizing the aspect ratio of the client area of the window to the
contents of what's being projected (so that there's no extra space).
Depending on the circumstances, these buttons can start with width
values that are much larger than their height, and that value wouldn't
be corrected immediately. Setting an explicit policy to lock their
width to the same as their height value enforces the behavior that was
intended from the beginning.
AllDockWidgetFeatures is now deprecated. Use underlying values instead.
Use default QFlags constructor instead of nullptr/0.
Use QWheelEvent::angleDelta() in place of orientation() and delta(), and
position() in place of x() and y().
In rare cases, "runas" would somehow launch the updater as a non-admin user
again, resulting in a loop where the updater constantly spawns processes.
Fixes https://github.com/obsproject/obs-studio/issues/2984
This brings the script in the repo up to date with what is being
used to generate release builds for OBS Studio on Windows, as
well as fixing up a few issues.
Since libobs internally rounds to various powers of 2 to support SSE
functions, resolutions that are too low can get rounded to zero. libobs
will fail to startup with a zero resolution, so if a user accidentally
entered anything that rounded to zero OBS would become unusable without
manual fixing by editing the profile .ini.
The files on disk are lower-case but QSS refrences them in
upper-case. Windows doesn't report errors as the platform isn't case
sensitive. Error messages are generated and icons not to render on
case sensitive platforms such as Linux and Mac
As of 3.17 using find_package_handle_standard_args checks that the name
of the FindXXX file and the first argument are the same case.
Some modules used non-standard variables or the old singular variables
instead of plurals. This normalizes variable usage to the new-style.
Some CMakeLists.txt did custom error checking instead of propagating
find_package errors. These were changes to call find_package with
REQUIRED or without QUIET where needed and shortens the custom status
messages. This helps users who want to enable that functionality see
what precisely wasnt found.
GetUnusedSceneCollectionFile tries to create a safe, unused filename for
a new scene collection JSON file based on the user-specified scene
collection name. It would check the length of the safe version of the
user-specified name, but then it doesn't consider that the length may
have changed when GetClosestUnusedFileName was called to alter the
filename to prevent filename collisions by adding an incremented integer
to the end of the filename. This could result in OBS thinking a filename
was safe and available, but the resulting filename could be one that
already exists. OBS could then overwrite a scene collection JSON file
with this new file without any indication that the file previously
existed.
Instead of trying to calculate a length based off of the returned
filename, let's just use the length of the config path since it's a
known string.