summaryrefslogtreecommitdiffhomepage
path: root/opentrack
diff options
context:
space:
mode:
Diffstat (limited to 'opentrack')
-rw-r--r--opentrack/work.hpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/opentrack/work.hpp b/opentrack/work.hpp
index c0962b9a..73ba691b 100644
--- a/opentrack/work.hpp
+++ b/opentrack/work.hpp
@@ -15,11 +15,13 @@ struct Work
SelectedLibraries libs;
ptr<Tracker> tracker;
ptr<Shortcuts> sc;
+ WId handle;
Work(main_settings& s, Mappings& m, SelectedLibraries& libs, QObject* recv, WId handle) :
s(s), libs(libs),
tracker(std::make_shared<Tracker>(s, m, libs)),
- sc(std::make_shared<Shortcuts>(handle))
+ sc(std::make_shared<Shortcuts>(handle)),
+ handle(handle)
{
#ifndef _WIN32
QObject::connect(&sc->keyCenter, SIGNAL(activated()), recv, SLOT(shortcutRecentered()));
@@ -31,6 +33,11 @@ struct Work
tracker->start();
}
+ void reload_shortcuts()
+ {
+ sc = std::make_shared<Shortcuts>(handle);
+ }
+
~Work()
{
// order matters, otherwise use-after-free -sh