diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2016-09-26 13:14:16 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2016-09-26 13:30:04 +0200 |
commit | 164f8d8d473e571086583d86bb4ff9982abe54b4 (patch) | |
tree | 9a4a168ede7d89e774eced2283ef601445ad171b /options/scoped.hpp | |
parent | 90eca9f45e6f6481e59748a2ebf5ca6f51488f38 (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.hpp | 9 |
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(); }; } |