diff options
-rw-r--r-- | libs/ardour/ardour/audioengine.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/libs/ardour/ardour/audioengine.h b/libs/ardour/ardour/audioengine.h index fcbe6d3514..0226e23282 100644 --- a/libs/ardour/ardour/audioengine.h +++ b/libs/ardour/ardour/audioengine.h @@ -135,13 +135,15 @@ class AudioEngine : public SessionHandlePtr class PortRegistrationFailure : public std::exception { public: - PortRegistrationFailure (const char* why = "") { - reason = why; - } - virtual const char *what() const throw() { return reason; } + PortRegistrationFailure (std::string const & why = "") + : reason (why) {} + + ~PortRegistrationFailure () throw () {} + + virtual const char *what() const throw () { return reason.c_str(); } private: - const char* reason; + std::string reason; }; class NoBackendAvailable : public std::exception { |