summaryrefslogtreecommitdiff
path: root/libs/ardour/transport_master.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/transport_master.cc')
-rw-r--r--libs/ardour/transport_master.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/libs/ardour/transport_master.cc b/libs/ardour/transport_master.cc
index 1bd1649500..4dec88272a 100644
--- a/libs/ardour/transport_master.cc
+++ b/libs/ardour/transport_master.cc
@@ -170,7 +170,16 @@ TransportMaster::check_collect()
void
TransportMaster::set_collect (bool yn)
{
- _pending_collect = yn;
+ /* theoretical race condition */
+
+ if (_connected) {
+ _pending_collect = yn;
+ } else {
+ if (_collect != yn) {
+ _pending_collect = _collect = yn;
+ PropertyChanged (Properties::collect);
+ }
+ }
}
void