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.
Fixes a bug where if the theme was changed, then wasn't saved, and the
user exits the window with the [x] button, then chooses "No" when asked
to save settings, it would not restore the original theme.
A long standing lack of synchronization on the elevated process handle
made the non-elevated process always exit, so the updater would assume
it was started elevated and launch OBS from the elevated context.
Also applies the altered working directory to the non-elevated code
path so it can find the OBS executable properly.
This reverts commit f91d3baf43e69f6d1922b0e03e043af6de0baf6a.
From @pkv: the reason some of these vars were global is because Qt was not deleting them at all; as a result memory leaks have been reintroduced for: previewProjector, trayMenu, studioProgramProjector, multiviewProjectorMenu ;
-Remove 9px margins around central widget. This saves 18px of vertical
space. This will be helpful when the source context menu is added,
which is 24px tall.
-Adjusts margins in transitions dock. The top of the transitions dock
wasn't lined up with the top of the controls dock, which made it look
bad.