From 7a03f1c3e6bbd436d990e9d5ca2efb40c607af5a Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Mon, 31 Jan 2011 19:02:15 +0000 Subject: [PATCH] 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 --- libs/ardour/ardour/source.h | 2 +- libs/ardour/source.cc | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) 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(); +}