Move raw pointer usage/delete to RAII in interaction

This commit is contained in:
John Bradley 2014-09-17 11:01:54 -05:00
parent 688af46664
commit 3b0fa22f8a
2 changed files with 5 additions and 6 deletions

View File

@ -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()

View File

@ -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);