diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-01-31 19:02:15 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-01-31 19:02:15 +0000 |
commit | 7a03f1c3e6bbd436d990e9d5ca2efb40c607af5a (patch) | |
tree | 9e90f5b8fb52da3670a5597923d9deb9e6b42988 /libs/ardour | |
parent | 954a3ddca10ee0fab21934fa98990b540a6f6b61 (diff) |
do not try to open sources with write-permission if the session itself is unwritable
git-svn-id: svn://localhost/ardour2/branches/3.0@8633 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour')
-rw-r--r-- | libs/ardour/ardour/source.h | 2 | ||||
-rw-r--r-- | libs/ardour/source.cc | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/libs/ardour/ardour/source.h b/libs/ardour/ardour/source.h index 64dd88d094..3df5929a6d 100644 --- a/libs/ardour/ardour/source.h +++ b/libs/ardour/ardour/source.h @@ -79,7 +79,7 @@ class Source : public SessionObject int set_state (const XMLNode&, int version); bool destructive() const { return (_flags & Destructive); } - bool writable () const { return (_flags & Writable); } + bool writable () const; virtual bool set_destructive (bool /*yn*/) { return false; } virtual bool length_mutable() const { return false; } diff --git a/libs/ardour/source.cc b/libs/ardour/source.cc index c299588f3c..409f3e1cdb 100644 --- a/libs/ardour/source.cc +++ b/libs/ardour/source.cc @@ -302,3 +302,9 @@ Source::dec_use_count () g_atomic_int_exchange_and_add (&_use_count, -1); #endif } + +bool +Source::writable () const +{ + return (_flags & Writable) && _session.writable(); +} |