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.
The UI feedback when dropping scene / source items on other parts of the
program indicated that something would happen instead of showing the
"no drop" icon.
Calling showFullScreen after setGeometry puts the projector on the
expected monitor. Previously (on FreeBSD, at least) it opened on the
primary display.
Building with Clang 10 on FreeBSD 13-CURRENT emitted a warning about
logical not (!) applying only to the left hand side of a comparison.
Update the expression to match the style of other flags conditionals.
Verified that object code is the same.
If a projector was created fullscreen, the isFullScreen() call would
fail since the window hasn't been displayed by Qt yet, resulting in the
cursor hiding choice not being applied. This moves the cursor hiding
into the SetMonitor call which is used for all code paths creating a
fullscreen projector, ensuring the setting is applied.
Fixes https://github.com/obsproject/obs-studio/issues/2687
Request from support-team.
Currently only sources in Scenes are logged with their filters.
This excludes global audio sources set in Settings > Audio.
This patch remedies this.
As os_gettime_ns() gets large the current scaling methods, mostly by casting
to uint64_t, may lead to numerical overflows. Sweep the code and use
util_mul_div64() where applicable.
Signed-off-by: Hans Petter Selasky <hps@selasky.org>
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.
Signal only needs to be connected once, not every keystroke.
Also commit data only when text widget focus is lost to fix cursor
moving to the end of the string after every keystroke.
Previously, the importer assumed scenes had fields that sources did for
audio, namely volume, sync, mute and monitoring type. SL scenes do not
have these fields. This resulted in mistakes in importing, such as
imported scenes having a volume of 0.0.
This change gets rid of the non-existent fields, and explicitly sets the
volume of the scenes to 1.0 as a precaution.
Before this change, opening up a fullscreen projector would have the
wrong window title (Windowed Projector). This was because the call to
update the window title was called before a monitor is set, and the
title is determined by whether a monitor is set.
This change moves the update title call to after the geometry or monitor
gets set, ensuring the window title is correct.