diff --git a/UI/slider-absoluteset-style.hpp b/UI/slider-absoluteset-style.hpp index a94ebebdd..d275ad2f0 100644 --- a/UI/slider-absoluteset-style.hpp +++ b/UI/slider-absoluteset-style.hpp @@ -6,7 +6,7 @@ class SliderAbsoluteSetStyle : public QProxyStyle { public: SliderAbsoluteSetStyle(const QString& baseStyle); - SliderAbsoluteSetStyle(QStyle* baseStyle); + SliderAbsoluteSetStyle(QStyle* baseStyle = Q_NULLPTR); int styleHint(QStyle::StyleHint hint, const QStyleOption* option, const QWidget* widget, QStyleHintReturn* returnData) const; }; diff --git a/UI/volume-control.cpp b/UI/volume-control.cpp index 532fa8728..80fbe1f6e 100644 --- a/UI/volume-control.cpp +++ b/UI/volume-control.cpp @@ -9,6 +9,7 @@ #include #include #include +#include using namespace std; @@ -246,7 +247,17 @@ VolControl::VolControl(OBSSource source_, bool showConfig, bool vertical) obs_fader_attach_source(obs_fader, source); obs_volmeter_attach_source(obs_volmeter, source); - slider->setStyle(new SliderAbsoluteSetStyle(slider->style())); + QString styleName = slider->style()->objectName(); + QStyle *style; + style = QStyleFactory::create(styleName); + if (!style) { + style = new SliderAbsoluteSetStyle(); + } else { + style = new SliderAbsoluteSetStyle(style); + } + + style->setParent(slider); + slider->setStyle(style); /* Call volume changed once to init the slider position and label */ VolumeChanged(); @@ -531,6 +542,7 @@ VolumeMeter::VolumeMeter(QWidget *parent, obs_volmeter_t *obs_volmeter, VolumeMeter::~VolumeMeter() { updateTimerRef->RemoveVolControl(this); + delete tickPaintCache; } void VolumeMeter::setLevels(const float magnitude[MAX_AUDIO_CHANNELS], diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp index 87479f297..6392fb4de 100644 --- a/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp @@ -1856,6 +1856,8 @@ OBSBasic::~OBSBasic() if (updateCheckThread && updateCheckThread->isRunning()) updateCheckThread->wait(); + delete multiviewProjectorMenu; + delete trayMenu; delete programOptions; delete program; diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp index e9cfc00f6..968af51fc 100644 --- a/UI/window-basic-settings.cpp +++ b/UI/window-basic-settings.cpp @@ -714,7 +714,7 @@ OBSBasicSettings::~OBSBasicSettings() { bool disableHotkeysInFocus = config_get_bool(App()->GlobalConfig(), "General", "DisableHotkeysInFocus"); - + delete ui->filenameFormatting->completer(); main->EnableOutputs(true); App()->EnableInFocusHotkeys(!disableHotkeysInFocus); } diff --git a/plugins/obs-outputs/librtmp/rtmp.c b/plugins/obs-outputs/librtmp/rtmp.c index dccad0e74..fe409bc6d 100644 --- a/plugins/obs-outputs/librtmp/rtmp.c +++ b/plugins/obs-outputs/librtmp/rtmp.c @@ -4288,14 +4288,14 @@ RTMP_Close(RTMP *r) r->m_customSendParam = NULL; #if defined(CRYPTO) || defined(USE_ONLY_MD5) + for (int idx = 0; idx < r->Link.nStreams; idx++) + { + free(r->Link.streams[idx].playpath.av_val); + r->Link.streams[idx].playpath.av_val = NULL; + } + if (!(r->Link.protocol & RTMP_FEATURE_WRITE) || (r->Link.pFlags & RTMP_PUB_CLEAN)) { - for (int idx = 0; idx < r->Link.nStreams; idx++) - { - free(r->Link.streams[idx].playpath.av_val); - r->Link.streams[idx].playpath.av_val = NULL; - } - r->Link.curStreamIdx = 0; r->Link.nStreams = 0; }