diff options
-rw-r--r-- | al/effect.cpp | 2 | ||||
-rw-r--r-- | al/effects/effects.h | 4 | ||||
-rw-r--r-- | al/filter.cpp | 5 | ||||
-rw-r--r-- | alc/backends/base.h | 5 | ||||
-rw-r--r-- | common/alexcpt.h | 6 |
5 files changed, 14 insertions, 8 deletions
diff --git a/al/effect.cpp b/al/effect.cpp index 3cfccaa3..029ecaa8 100644 --- a/al/effect.cpp +++ b/al/effect.cpp @@ -72,7 +72,7 @@ const EffectList gEffectList[16]{ bool DisabledEffects[MAX_EFFECTS]; -effect_exception::effect_exception(ALenum code, const char *msg, ...) : base_exception{code} +effect_exception::effect_exception(ALenum code, const char *msg, ...) : mErrorCode{code} { std::va_list args; va_start(args, msg); diff --git a/al/effects/effects.h b/al/effects/effects.h index 1850271b..47b089ba 100644 --- a/al/effects/effects.h +++ b/al/effects/effects.h @@ -9,9 +9,13 @@ union EffectProps; class effect_exception final : public al::base_exception { + ALenum mErrorCode; + public: [[gnu::format(printf, 3, 4)]] effect_exception(ALenum code, const char *msg, ...); + + ALenum errorCode() const noexcept { return mErrorCode; } }; diff --git a/al/filter.cpp b/al/filter.cpp index 447bea7a..2f49c52e 100644 --- a/al/filter.cpp +++ b/al/filter.cpp @@ -48,15 +48,18 @@ namespace { class filter_exception final : public al::base_exception { + ALenum mErrorCode; + public: [[gnu::format(printf, 3, 4)]] - filter_exception(ALenum code, const char *msg, ...) : base_exception{code} + filter_exception(ALenum code, const char *msg, ...) : mErrorCode{code} { std::va_list args; va_start(args, msg); setMessage(msg, args); va_end(args); } + ALenum errorCode() const noexcept { return mErrorCode; } }; #define FILTER_MIN_GAIN 0.0f diff --git a/alc/backends/base.h b/alc/backends/base.h index 99e2f12b..3a96c446 100644 --- a/alc/backends/base.h +++ b/alc/backends/base.h @@ -94,15 +94,18 @@ protected: namespace al { class backend_exception final : public base_exception { + ALCenum mErrorCode; + public: [[gnu::format(printf, 3, 4)]] - backend_exception(ALCenum code, const char *msg, ...) : base_exception{code} + backend_exception(ALCenum code, const char *msg, ...) : mErrorCode{code} { std::va_list args; va_start(args, msg); setMessage(msg, args); va_end(args); } + ALCenum errorCode() const noexcept { return mErrorCode; } }; } // namespace al diff --git a/common/alexcpt.h b/common/alexcpt.h index 5b33f092..e31c50e7 100644 --- a/common/alexcpt.h +++ b/common/alexcpt.h @@ -6,24 +6,20 @@ #include <string> #include <utility> -#include "AL/alc.h" - namespace al { class base_exception : public std::exception { std::string mMessage; - ALCenum mErrorCode; protected: - base_exception(ALCenum code) : mErrorCode{code} { } + base_exception() = default; virtual ~base_exception(); void setMessage(const char *msg, std::va_list args); public: const char *what() const noexcept override { return mMessage.c_str(); } - ALCenum errorCode() const noexcept { return mErrorCode; } }; } // namespace al |