This fixes a memory leak introduced in [1] where a new QColor is not
balanced by a delete.
[1] UI: Update volume meter appearance
52ae5fc4bd
Signed-off-by: pkv <pkv@obsproject.com>
As with Linux we need to link Qt::DBus on FreeBSD now that there's a
HighContrastEnabled implementation that makes use of it.
Fixes: 41ba8bdfdd ("UI: Add HighContrastEnabled implementation fo...")
The code was checking stream_key, but stream_key could be the
user-supplied value (in_stream_key) or the server-supplied value
(endpoint.authentication). The server-supplied value may lack the query
parameters set in the user-supplied value. To ensure that user-specified
query parameters (such as bandwidthtest) are passed along, parse the
user-supplied key instead of the server-supplied key.
Modifies the encoder group API added previously to better follow the
existing libobs API naming paradigms. This also produces much more
readable code, and allows a few small benefits like only needing to
hold a reference to the encoder group, instead of every encoder.
All other bitrate setting fields in the UI have a single-step value of
50. Without setting this, the single-step value is 1, which makes using
the scroll wheel a bit tedious.
While this could arguably be higher, let's make this consistent first
and then consider changing the values across the application later.
There were some reports that the default value of 8000 was confusing
because it implies that the automaticaly selected and used value is 8000
Kbps. Set it to 0 which should hopefully make it more obvious that OBS
is not sending 0 Kbps.
Currently, the chat input elements (lineEdit, sendButton, and
chatLayout) are initialized when the QCefWidget gets set. This is
problematic behavior that only happened to work because we're a bit
lucky: The chat is only enabled after a widget is set, and it's only set
once. Without those conditions, the chat dock would crash when enabling
the chat before a widget is set, and the elements would get recreated if
the widget is set a second time, resulting in the original elements not
getting freed and leaking.
Moving the element creation to the constructor fixes both of these
problems, as now they're created immediately and only once.
Detected by PVS-Studio.
LineEditAutoResize didn't have its maxLength initialized in the
constructor, leaving it to be a random value until set via setMaxLength.
The one place where LineEditAutoResize was used immediately set this
after calling the constructor, but if we use this anywhere else in the
future it makes sense to have this initialized.
As it is meant to mostly behave like a QLineEdit, lets use the same
default value of 32767.
Detected by PVS-Studio.
Commit b11d61c89f added padding-right to
provide some minimal padding for this element. This was seemingly
accounted for in the Yami Base Theme (Yami.obt), but was missed in the
Yami Classic Variant Theme (Yami_Classic.ovt).
Re-add the padding-right to restore the padding.