From b515f080486316b87d30316e66757a94720a3eea Mon Sep 17 00:00:00 2001 From: jp9000 Date: Wed, 4 Mar 2015 04:34:06 -0800 Subject: [PATCH] UI: Fix potential race condition The update_properties signal is created before the view itself is created, therefore it was possible for the callback to trigger when the view was invalid. --- obs/window-basic-properties.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/obs/window-basic-properties.cpp b/obs/window-basic-properties.cpp index 7b30cf9a0..3cca06c9c 100644 --- a/obs/window-basic-properties.cpp +++ b/obs/window-basic-properties.cpp @@ -38,10 +38,6 @@ OBSBasicProperties::OBSBasicProperties(QWidget *parent, OBSSource source_) removedSignal (obs_source_get_signal_handler(source), "remove", OBSBasicProperties::SourceRemoved, this), - updatePropertiesSignal (obs_source_get_signal_handler(source), - "update_properties", - OBSBasicProperties::UpdateProperties, - this), oldSettings (obs_data_create()), buttonBox (new QDialogButtonBox(this)) { @@ -88,6 +84,11 @@ OBSBasicProperties::OBSBasicProperties(QWidget *parent, OBSSource source_) setWindowTitle(QTStr("Basic.PropertiesWindow").arg(QT_UTF8(name))); obs_source_inc_showing(source); + + updatePropertiesSignal.Connect(obs_source_get_signal_handler(source), + "update_properties", + OBSBasicProperties::UpdateProperties, + this); } OBSBasicProperties::~OBSBasicProperties()