summaryrefslogtreecommitdiffhomepage
path: root/options/scoped.hpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2016-09-26 13:14:16 +0200
committerStanislaw Halik <sthalik@misaki.pl>2016-09-26 13:30:04 +0200
commit164f8d8d473e571086583d86bb4ff9982abe54b4 (patch)
tree9a4a168ede7d89e774eced2283ef601445ad171b /options/scoped.hpp
parent90eca9f45e6f6481e59748a2ebf5ca6f51488f38 (diff)
gui, options: prevent options reset on tracker stop
They should only be reset when closing the module dialog window. This is a hack but otherwise we'd have to change all the modules. Issue: #466 Closes #466
Diffstat (limited to 'options/scoped.hpp')
-rw-r--r--options/scoped.hpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/options/scoped.hpp b/options/scoped.hpp
index 52ae383d..4ad51fea 100644
--- a/options/scoped.hpp
+++ b/options/scoped.hpp
@@ -5,6 +5,8 @@
#include "export.hpp"
+#include <atomic>
+
namespace options {
struct OPENTRACK_OPTIONS_EXPORT opts
@@ -14,6 +16,13 @@ struct OPENTRACK_OPTIONS_EXPORT opts
opts& operator=(const opts&) = delete;
opts(const opts&) = delete;
~opts();
+
+ // XXX hack: the flag shouldn't be here as action at distance -sh 20160926
+ static void set_teardown_flag(bool value);
+private:
+ static std::atomic_bool teardown_flag;
+ static bool is_tracker_teardown();
+ static void ensure_thread();
};
}