Browse Source

no need for "count"

lizzie/crashes-qt-somesettings
lizzie 2 days ago
parent
commit
62f6bb9d1c
  1. 2
      src/common/settings_enums.h
  2. 4
      src/common/settings_setting.h

2
src/common/settings_enums.h

@ -75,7 +75,7 @@ struct EnumMetadata {
#define PP_HEAD(A, ...) A
#define ENUM(NAME, ...) \
enum class NAME : u32 { __VA_ARGS__, Count }; \
enum class NAME : u32 { __VA_ARGS__ }; \
template<> inline std::vector<std::pair<std::string_view, NAME>> EnumMetadata<NAME>::Canonicalizations() { \
return {PAIR(NAME, __VA_ARGS__)}; \
} \

4
src/common/settings_setting.h

@ -375,7 +375,9 @@ public:
// Enums have a maximal range which they're allowed
Type temp{};
if constexpr (std::is_enum_v<Type>) {
temp = Type(std::clamp(std::underlying_type_t<Type>(val), std::underlying_type_t<Type>(0), std::underlying_type_t<Type>(Type::Count) - 1));
auto const r_min = std::underlying_type_t<Type>(0);
auto const r_max = std::underlying_type_t<Type>(EnumMetadata<Type>::GetLast());
temp = Type(std::clamp(std::underlying_type_t<Type>(val), r_min, r_max));
} else {
temp = ranged ? std::clamp(val, this->minimum, this->maximum) : val;
}

Loading…
Cancel
Save