From 7b418d5be337174d21b1f5c701fd3df7946b2882 Mon Sep 17 00:00:00 2001 From: cg2121 Date: Thu, 17 Feb 2022 08:33:56 -0600 Subject: [PATCH] UI: Use std::unique_ptr for ui variables Most ui variables were using std::unique_ptr, but not all. Went through all of the UI code to find where they were manually deleted. --- UI/context-bar-controls.cpp | 35 ++++--------------- UI/context-bar-controls.hpp | 14 ++++---- .../frontend-tools/scripts.cpp | 2 -- .../frontend-tools/scripts.hpp | 3 +- UI/media-controls.cpp | 5 +-- UI/media-controls.hpp | 2 +- UI/window-basic-auto-config-test.cpp | 2 -- UI/window-basic-auto-config.cpp | 15 ++------ UI/window-basic-auto-config.hpp | 8 ++--- UI/window-extra-browsers.cpp | 5 +-- UI/window-extra-browsers.hpp | 3 +- 11 files changed, 28 insertions(+), 66 deletions(-) diff --git a/UI/context-bar-controls.cpp b/UI/context-bar-controls.cpp index e960492b0..f7a054a56 100644 --- a/UI/context-bar-controls.cpp +++ b/UI/context-bar-controls.cpp @@ -97,10 +97,7 @@ BrowserToolbar::BrowserToolbar(QWidget *parent, OBSSource source) ui->setupUi(this); } -BrowserToolbar::~BrowserToolbar() -{ - delete ui; -} +BrowserToolbar::~BrowserToolbar() {} void BrowserToolbar::on_refresh_clicked() { @@ -121,10 +118,7 @@ ComboSelectToolbar::ComboSelectToolbar(QWidget *parent, OBSSource source) ui->setupUi(this); } -ComboSelectToolbar::~ComboSelectToolbar() -{ - delete ui; -} +ComboSelectToolbar::~ComboSelectToolbar() {} static int FillPropertyCombo(QComboBox *c, obs_property_t *p, const std::string &cur_id, bool is_int = false) @@ -332,10 +326,7 @@ DeviceCaptureToolbar::DeviceCaptureToolbar(QWidget *parent, OBSSource source) ui->activateButton->setText(active ? deactivateText : activateText); } -DeviceCaptureToolbar::~DeviceCaptureToolbar() -{ - delete ui; -} +DeviceCaptureToolbar::~DeviceCaptureToolbar() {} void DeviceCaptureToolbar::on_activateButton_clicked() { @@ -406,10 +397,7 @@ GameCaptureToolbar::GameCaptureToolbar(QWidget *parent, OBSSource source) UpdateWindowVisibility(); } -GameCaptureToolbar::~GameCaptureToolbar() -{ - delete ui; -} +GameCaptureToolbar::~GameCaptureToolbar() {} void GameCaptureToolbar::UpdateWindowVisibility() { @@ -469,10 +457,7 @@ ImageSourceToolbar::ImageSourceToolbar(QWidget *parent, OBSSource source) ui->path->setText(file.c_str()); } -ImageSourceToolbar::~ImageSourceToolbar() -{ - delete ui; -} +ImageSourceToolbar::~ImageSourceToolbar() {} void ImageSourceToolbar::on_browse_clicked() { @@ -530,10 +515,7 @@ ColorSourceToolbar::ColorSourceToolbar(QWidget *parent, OBSSource source) UpdateColor(); } -ColorSourceToolbar::~ColorSourceToolbar() -{ - delete ui; -} +ColorSourceToolbar::~ColorSourceToolbar() {} void ColorSourceToolbar::UpdateColor() { @@ -623,10 +605,7 @@ TextSourceToolbar::TextSourceToolbar(QWidget *parent, OBSSource source) ui->text->setText(text); } -TextSourceToolbar::~TextSourceToolbar() -{ - delete ui; -} +TextSourceToolbar::~TextSourceToolbar() {} void TextSourceToolbar::on_selectFont_clicked() { diff --git a/UI/context-bar-controls.hpp b/UI/context-bar-controls.hpp index f11e07b6a..a3ac756d6 100644 --- a/UI/context-bar-controls.hpp +++ b/UI/context-bar-controls.hpp @@ -39,7 +39,7 @@ public slots: class BrowserToolbar : public SourceToolbar { Q_OBJECT - Ui_BrowserSourceToolbar *ui; + std::unique_ptr ui; public: BrowserToolbar(QWidget *parent, OBSSource source); @@ -53,7 +53,7 @@ class ComboSelectToolbar : public SourceToolbar { Q_OBJECT protected: - Ui_DeviceSelectToolbar *ui; + std::unique_ptr ui; const char *prop_name; bool is_int = false; @@ -95,7 +95,7 @@ class DeviceCaptureToolbar : public QWidget { OBSWeakSource weakSource; - Ui_DeviceSelectToolbar *ui; + std::unique_ptr ui; const char *activateText; const char *deactivateText; bool active; @@ -111,7 +111,7 @@ public slots: class GameCaptureToolbar : public SourceToolbar { Q_OBJECT - Ui_GameCaptureToolbar *ui; + std::unique_ptr ui; void UpdateWindowVisibility(); @@ -127,7 +127,7 @@ public slots: class ImageSourceToolbar : public SourceToolbar { Q_OBJECT - Ui_ImageSourceToolbar *ui; + std::unique_ptr ui; public: ImageSourceToolbar(QWidget *parent, OBSSource source); @@ -140,7 +140,7 @@ public slots: class ColorSourceToolbar : public SourceToolbar { Q_OBJECT - Ui_ColorSourceToolbar *ui; + std::unique_ptr ui; QColor color; void UpdateColor(); @@ -156,7 +156,7 @@ public slots: class TextSourceToolbar : public SourceToolbar { Q_OBJECT - Ui_TextSourceToolbar *ui; + std::unique_ptr ui; QFont font; QColor color; diff --git a/UI/frontend-plugins/frontend-tools/scripts.cpp b/UI/frontend-plugins/frontend-tools/scripts.cpp index 345ba5f17..40eafcccb 100644 --- a/UI/frontend-plugins/frontend-tools/scripts.cpp +++ b/UI/frontend-plugins/frontend-tools/scripts.cpp @@ -218,8 +218,6 @@ ScriptsTool::~ScriptsTool() config_t *global_config = obs_frontend_get_global_config(); config_set_int(global_config, "scripts-tool", "prevScriptRow", ui->scripts->currentRow()); - - delete ui; } void ScriptsTool::RemoveScript(const char *path) diff --git a/UI/frontend-plugins/frontend-tools/scripts.hpp b/UI/frontend-plugins/frontend-tools/scripts.hpp index 8d03fc4f1..46db619ce 100644 --- a/UI/frontend-plugins/frontend-tools/scripts.hpp +++ b/UI/frontend-plugins/frontend-tools/scripts.hpp @@ -2,6 +2,7 @@ #include #include +#include class Ui_ScriptsTool; @@ -27,7 +28,7 @@ public slots: class ScriptsTool : public QWidget { Q_OBJECT - Ui_ScriptsTool *ui; + std::unique_ptr ui; QWidget *propertiesView = nullptr; public: diff --git a/UI/media-controls.cpp b/UI/media-controls.cpp index cc8733e95..0cebe0f59 100644 --- a/UI/media-controls.cpp +++ b/UI/media-controls.cpp @@ -76,10 +76,7 @@ MediaControls::MediaControls(QWidget *parent) addAction(sliderBack); } -MediaControls::~MediaControls() -{ - delete ui; -} +MediaControls::~MediaControls() {} bool MediaControls::MediaPaused() { diff --git a/UI/media-controls.hpp b/UI/media-controls.hpp index 4dec25c35..01310b186 100644 --- a/UI/media-controls.hpp +++ b/UI/media-controls.hpp @@ -34,7 +34,7 @@ private: static void OBSMediaPause(void *data, calldata_t *calldata); static void OBSMediaStarted(void *data, calldata_t *calldata); - Ui_MediaControls *ui; + std::unique_ptr ui; private slots: void on_playPauseButton_clicked(); diff --git a/UI/window-basic-auto-config-test.cpp b/UI/window-basic-auto-config-test.cpp index 4208efe67..386d3290e 100644 --- a/UI/window-basic-auto-config-test.cpp +++ b/UI/window-basic-auto-config-test.cpp @@ -1175,8 +1175,6 @@ AutoConfigTestPage::AutoConfigTestPage(QWidget *parent) AutoConfigTestPage::~AutoConfigTestPage() { - delete ui; - if (testThread.joinable()) { { unique_lock ul(m); diff --git a/UI/window-basic-auto-config.cpp b/UI/window-basic-auto-config.cpp index 4b60ab92b..eb4e72b99 100644 --- a/UI/window-basic-auto-config.cpp +++ b/UI/window-basic-auto-config.cpp @@ -86,10 +86,7 @@ AutoConfigStartPage::AutoConfigStartPage(QWidget *parent) } } -AutoConfigStartPage::~AutoConfigStartPage() -{ - delete ui; -} +AutoConfigStartPage::~AutoConfigStartPage() {} int AutoConfigStartPage::nextId() const { @@ -191,10 +188,7 @@ AutoConfigVideoPage::AutoConfigVideoPage(QWidget *parent) ui->canvasRes->setCurrentIndex(0); } -AutoConfigVideoPage::~AutoConfigVideoPage() -{ - delete ui; -} +AutoConfigVideoPage::~AutoConfigVideoPage() {} int AutoConfigVideoPage::nextId() const { @@ -316,10 +310,7 @@ AutoConfigStreamPage::AutoConfigStreamPage(QWidget *parent) SLOT(UpdateCompleted())); } -AutoConfigStreamPage::~AutoConfigStreamPage() -{ - delete ui; -} +AutoConfigStreamPage::~AutoConfigStreamPage() {} bool AutoConfigStreamPage::isComplete() const { diff --git a/UI/window-basic-auto-config.hpp b/UI/window-basic-auto-config.hpp index f5f969ff0..e88d5b502 100644 --- a/UI/window-basic-auto-config.hpp +++ b/UI/window-basic-auto-config.hpp @@ -129,7 +129,7 @@ class AutoConfigStartPage : public QWizardPage { friend class AutoConfig; - Ui_AutoConfigStartPage *ui; + std::unique_ptr ui; public: AutoConfigStartPage(QWidget *parent = nullptr); @@ -148,7 +148,7 @@ class AutoConfigVideoPage : public QWizardPage { friend class AutoConfig; - Ui_AutoConfigVideoPage *ui; + std::unique_ptr ui; public: AutoConfigVideoPage(QWidget *parent = nullptr); @@ -170,7 +170,7 @@ class AutoConfigStreamPage : public QWizardPage { std::shared_ptr auth; - Ui_AutoConfigStreamPage *ui; + std::unique_ptr ui; QString lastService; bool ready = false; @@ -209,7 +209,7 @@ class AutoConfigTestPage : public QWizardPage { QPointer results; - Ui_AutoConfigTestPage *ui; + std::unique_ptr ui; std::thread testThread; std::condition_variable cv; std::mutex m; diff --git a/UI/window-extra-browsers.cpp b/UI/window-extra-browsers.cpp index 8f57b1375..032b71f1c 100644 --- a/UI/window-extra-browsers.cpp +++ b/UI/window-extra-browsers.cpp @@ -440,10 +440,7 @@ OBSExtraBrowsers::OBSExtraBrowsers(QWidget *parent) QAbstractItemView::EditTrigger::CurrentChanged); } -OBSExtraBrowsers::~OBSExtraBrowsers() -{ - delete ui; -} +OBSExtraBrowsers::~OBSExtraBrowsers() {} void OBSExtraBrowsers::closeEvent(QCloseEvent *event) { diff --git a/UI/window-extra-browsers.hpp b/UI/window-extra-browsers.hpp index b867e4014..5869e5d10 100644 --- a/UI/window-extra-browsers.hpp +++ b/UI/window-extra-browsers.hpp @@ -4,6 +4,7 @@ #include #include #include +#include class Ui_OBSExtraBrowsers; class ExtraBrowsersModel; @@ -13,7 +14,7 @@ class QCefWidget; class OBSExtraBrowsers : public QDialog { Q_OBJECT - Ui_OBSExtraBrowsers *ui; + std::unique_ptr ui; ExtraBrowsersModel *model; public: