diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2015-01-26 15:54:29 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2015-06-29 14:18:13 -0400 |
commit | 5927fb49976aea12591fb9d72eee77d1deeb2e6d (patch) | |
tree | d8b5fa3b9a59d0735391f6f1da07c64d2a207029 /libs/ardour/butler.cc | |
parent | e71236794db6a1a73d8247b981897381d97d3308 (diff) |
fix timing of Butler mapping config parameters to avoid crash.
Amazing that this didn't show up on Linux at all, or on the first run after build. Computers ... sigh.
Conflicts:
libs/ardour/butler.cc
Diffstat (limited to 'libs/ardour/butler.cc')
-rw-r--r-- | libs/ardour/butler.cc | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/libs/ardour/butler.cc b/libs/ardour/butler.cc index 2485bc399f..67d7dd1617 100644 --- a/libs/ardour/butler.cc +++ b/libs/ardour/butler.cc @@ -54,13 +54,8 @@ Butler::Butler(Session& s) g_atomic_int_set(&should_do_transport_work, 0); SessionEvent::pool->set_trash (&pool_trash); - /* catch future changes to parameters */ - Config->ParameterChanged.connect_same_thread (*this, boost::bind (&Butler::config_changed, this, _1)); - - /* use any current ones that we care about */ - boost::function<void (std::string)> ff (boost::bind (&Butler::config_changed, this, _1)); - Config->map_parameters (ff); - + /* catch future changes to parameters */ + Config->ParameterChanged.connect_same_thread (*this, boost::bind (&Butler::config_changed, this, _1)); } Butler::~Butler() @@ -69,6 +64,14 @@ Butler::~Butler() } void +Butler::map_parameters () +{ + /* use any current ones that we care about */ + boost::function<void (std::string)> ff (boost::bind (&Butler::config_changed, this, _1)); + Config->map_parameters (ff); +} + +void Butler::config_changed (std::string p) { if (p == "playback-buffer-seconds") { |