diff options
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/source.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libs/ardour/source.cc b/libs/ardour/source.cc index 6ab907ba16..165da0befd 100644 --- a/libs/ardour/source.cc +++ b/libs/ardour/source.cc @@ -146,6 +146,13 @@ Source::set_state (const XMLNode& node, int /*version*/) _flags = Flag (_flags | Destructive); } + /* a source with an XML node must necessarily already exist, + and therefore cannot be removable/writable etc. etc. + */ + if (!(_flags & Destructive)) { + _flags = Flag (_flags & ~(Writable|Removable|RemovableIfEmpty|RemoveAtDestroy|CanRename)); + } + return 0; } |