Skip to content
Snippets Groups Projects
Commit 3b0fa22f authored by John Bradley's avatar John Bradley
Browse files

Move raw pointer usage/delete to RAII in interaction

parent 688af466
No related branches found
No related tags found
No related merge requests found
...@@ -34,7 +34,8 @@ OBSBasicInteraction::OBSBasicInteraction(QWidget *parent, OBSSource source_) ...@@ -34,7 +34,8 @@ OBSBasicInteraction::OBSBasicInteraction(QWidget *parent, OBSSource source_)
ui (new Ui::OBSBasicInteraction), ui (new Ui::OBSBasicInteraction),
source (source_), source (source_),
removedSignal (obs_source_get_signal_handler(source), "remove", removedSignal (obs_source_get_signal_handler(source), "remove",
OBSBasicInteraction::SourceRemoved, this) OBSBasicInteraction::SourceRemoved, this),
eventFilter (BuildEventFilter())
{ {
int cx = (int)config_get_int(App()->GlobalConfig(), "InteractionWindow", int cx = (int)config_get_int(App()->GlobalConfig(), "InteractionWindow",
"cx"); "cx");
...@@ -45,8 +46,7 @@ OBSBasicInteraction::OBSBasicInteraction(QWidget *parent, OBSSource source_) ...@@ -45,8 +46,7 @@ OBSBasicInteraction::OBSBasicInteraction(QWidget *parent, OBSSource source_)
ui->preview->setMouseTracking(true); ui->preview->setMouseTracking(true);
ui->preview->setFocusPolicy(Qt::StrongFocus); ui->preview->setFocusPolicy(Qt::StrongFocus);
eventFilter = BuildEventFilter(); ui->preview->installEventFilter(eventFilter.get());
ui->preview->installEventFilter(eventFilter);
if (cx > 400 && cy > 400) if (cx > 400 && cy > 400)
resize(cx, cy); resize(cx, cy);
...@@ -68,8 +68,7 @@ OBSBasicInteraction::~OBSBasicInteraction() ...@@ -68,8 +68,7 @@ OBSBasicInteraction::~OBSBasicInteraction()
{ {
// since QT fakes a mouse movement while destructing a widget // since QT fakes a mouse movement while destructing a widget
// remove our event filter // remove our event filter
ui->preview->removeEventFilter(eventFilter); ui->preview->removeEventFilter(eventFilter.get());
delete eventFilter;
} }
OBSEventFilter *OBSBasicInteraction::BuildEventFilter() OBSEventFilter *OBSBasicInteraction::BuildEventFilter()
......
...@@ -42,7 +42,7 @@ private: ...@@ -42,7 +42,7 @@ private:
OBSSource source; OBSSource source;
OBSDisplay display; OBSDisplay display;
OBSSignal removedSignal; OBSSignal removedSignal;
OBSEventFilter *eventFilter; std::unique_ptr<OBSEventFilter> eventFilter;
static void SourceRemoved(void *data, calldata_t params); static void SourceRemoved(void *data, calldata_t params);
static void DrawPreview(void *data, uint32_t cx, uint32_t cy); static void DrawPreview(void *data, uint32_t cx, uint32_t cy);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment