Users don't realize that dockable windows can be closed (hidden) and can
be shown again via the View menu. This adds an explicit warning when
the user first closes a dockable window for their first time. In future
versions, this should be changed to a dialog box with a "Do not show
again" checkbox.
Allows the ability to use invokeMethod on the OBSApp object to execute
an std::function. This allows deferring an std::function call to the Qt
event queue.
In commit d17ee20863, we attempted to fix a race condition crash in the
Logitech plugin by deferring the "stream/recording/replay buffer active"
calls to the UI thread. However, the Logitech plugin loop_function
funciton can call obs_frontend_streaming_active/etc functions while the
UI thread waits for the loop_function thread for many OBS events,
causing a hard lock in the Logitech plugin. This fixes that by making
the obs_frontend_streaming_active/etc functions completely atomic
instead. It's a bit of a hack but it's better than accessing objects.
In the Twitch chat dock window, the "Moderation Tools" link in the chat
settings should not navigate the window to the new URL; it should pop up
the URL in the user's system browser instead.
If the auth process failed on startup, the user is still able to use
their stream, just without the extra UI. The auth object is still
technically existing, and the user can still stream, so don't treat it
like it's not connected in settings.
If the user disconnects OBS from their Twitch account on their Twitch
settings panel, then try asking the user if they'd like to reconnect
before throwing an error.
If the user disconnects OBS from their Mixer account on their Mixer
settings panel, then try asking the user if they'd like to reconnect
before throwing an error.
The message boxes that tell you that the browser is initializing or that
you're authenticating with twitch are annoying on startup. It makes
sense to do it in the settings/autoconfig dialogs where you sort of need
to know what's going on while waiting for it to connect, but on startup
it's not really necessary and can be kind of annoying.
Fixes an issue when Start Replay Button stays at checked state if stop
signal generated (hotkey event for example) instead of mouse click.
Mantis: https://obsproject.com/mantis/view.php?id=1343
This should always be disabled if video output is active. Additionally,
the expression used to determine whether it should be enabled/disabled
was very unreadable.