summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--options/connector.cpp8
-rw-r--r--options/connector.hpp4
-rw-r--r--options/value.hpp6
3 files changed, 11 insertions, 7 deletions
diff --git a/options/connector.cpp b/options/connector.cpp
index 4ba532d4..f23db06d 100644
--- a/options/connector.cpp
+++ b/options/connector.cpp
@@ -6,12 +6,12 @@ namespace detail {
connector::~connector() {}
-void connector::on_bundle_destructed(const QString& name, const base_value* val)
+void connector::on_value_destructed(const QString& name, const base_value* val)
{
QMutexLocker l(get_mtx());
auto it = connected_values.find(name);
- if (it != connected_values.end())
+ if (it != connected_values.cend())
{
std::vector<const base_value*>& values = (*it).second;
for (auto it = values.begin(); it != values.end(); )
@@ -25,7 +25,7 @@ void connector::on_bundle_destructed(const QString& name, const base_value* val)
}
}
-void connector::on_bundle_created(const QString& name, const base_value* val)
+void connector::on_value_created(const QString& name, const base_value* val)
{
QMutexLocker l(get_mtx());
auto it = connected_values.find(name);
@@ -46,7 +46,7 @@ void connector::on_bundle_created(const QString& name, const base_value* val)
void connector::notify_values(const QString& name) const
{
auto it = connected_values.find(name);
- if (it != connected_values.end())
+ if (it != connected_values.cend())
{
for (const base_value* val : (*it).second)
{
diff --git a/options/connector.hpp b/options/connector.hpp
index dea9fd0f..ef9e4dbf 100644
--- a/options/connector.hpp
+++ b/options/connector.hpp
@@ -20,8 +20,8 @@ class OPENTRACK_OPTIONS_EXPORT connector
std::map<QString, std::vector<const base_value*>> connected_values;
- void on_bundle_destructed(const QString& name, const base_value* val);
- void on_bundle_created(const QString& name, const base_value* val);
+ void on_value_destructed(const QString& name, const base_value* val);
+ void on_value_created(const QString& name, const base_value* val);
protected:
void notify_values(const QString& name) const;
diff --git a/options/value.hpp b/options/value.hpp
index 4d067af1..f0ecf0c7 100644
--- a/options/value.hpp
+++ b/options/value.hpp
@@ -31,7 +31,11 @@ public:
QString name() const { return self_name; }
base_value(bundle b, const QString& name) : b(b), self_name(name)
{
- b->on_bundle_created(name, this);
+ b->on_value_created(name, this);
+ }
+ ~base_value() override
+ {
+ b->on_value_destructed(self_name, this);
}
signals:
OPENTRACK_DEFINE_SIGNAL(double);