From 3b0fa22f8a2133840cda4f6a12d871ae465b9dc8 Mon Sep 17 00:00:00 2001 From: John Bradley <jrb@turrettech.com> Date: Wed, 17 Sep 2014 11:01:54 -0500 Subject: [PATCH] Move raw pointer usage/delete to RAII in interaction --- obs/window-basic-interaction.cpp | 9 ++++----- obs/window-basic-interaction.hpp | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/obs/window-basic-interaction.cpp b/obs/window-basic-interaction.cpp index 9cf5499d2..d5528926b 100644 --- a/obs/window-basic-interaction.cpp +++ b/obs/window-basic-interaction.cpp @@ -34,7 +34,8 @@ OBSBasicInteraction::OBSBasicInteraction(QWidget *parent, OBSSource source_) ui (new Ui::OBSBasicInteraction), source (source_), 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", "cx"); @@ -45,8 +46,7 @@ OBSBasicInteraction::OBSBasicInteraction(QWidget *parent, OBSSource source_) ui->preview->setMouseTracking(true); ui->preview->setFocusPolicy(Qt::StrongFocus); - eventFilter = BuildEventFilter(); - ui->preview->installEventFilter(eventFilter); + ui->preview->installEventFilter(eventFilter.get()); if (cx > 400 && cy > 400) resize(cx, cy); @@ -68,8 +68,7 @@ OBSBasicInteraction::~OBSBasicInteraction() { // since QT fakes a mouse movement while destructing a widget // remove our event filter - ui->preview->removeEventFilter(eventFilter); - delete eventFilter; + ui->preview->removeEventFilter(eventFilter.get()); } OBSEventFilter *OBSBasicInteraction::BuildEventFilter() diff --git a/obs/window-basic-interaction.hpp b/obs/window-basic-interaction.hpp index 7f358e64b..4c8e3c208 100644 --- a/obs/window-basic-interaction.hpp +++ b/obs/window-basic-interaction.hpp @@ -42,7 +42,7 @@ private: OBSSource source; OBSDisplay display; OBSSignal removedSignal; - OBSEventFilter *eventFilter; + std::unique_ptr<OBSEventFilter> eventFilter; static void SourceRemoved(void *data, calldata_t params); static void DrawPreview(void *data, uint32_t cx, uint32_t cy); -- GitLab