Skip to content

Commit df76fa0

Browse files
committed
Fix reading allshader::WaveformRendererSignalBase::Options as single Option
1 parent 231b589 commit df76fa0

2 files changed

Lines changed: 13 additions & 6 deletions

File tree

src/preferences/configobject.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,12 @@ template <class ValueType> class ConfigObject {
191191
// we need to take default_value as const ref otherwise the overload is ambiguous
192192
return static_cast<EnumType>(getValue<int>(key, static_cast<int>(default_value)));
193193
}
194+
template<typename EnumType>
195+
requires std::is_enum_v<EnumType>
196+
QFlags<EnumType> getValue(const ConfigKey& key, const QFlags<EnumType>& default_value) const {
197+
// we need to take default_value as const ref otherwise the overload is ambiguous
198+
return QFlags<EnumType>(getValue<int>(key, static_cast<int>(default_value)));
199+
}
194200

195201
QMultiHash<ValueType, ConfigKey> transpose() const;
196202

src/waveform/waveformwidgetfactory.cpp

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1105,9 +1105,10 @@ void WaveformWidgetFactory::evaluateWidgets() {
11051105

11061106
WaveformWidgetAbstract* WaveformWidgetFactory::createAllshaderWaveformWidget(
11071107
WaveformWidgetType::Type type, WWaveformViewer* viewer) {
1108-
allshader::WaveformRendererSignalBase::Options options =
1109-
m_config->getValue(ConfigKey("[Waveform]", "waveform_options"),
1110-
allshader::WaveformRendererSignalBase::Option::None);
1108+
allshader::WaveformRendererSignalBase::Options options = m_config->getValue(
1109+
ConfigKey("[Waveform]", "waveform_options"),
1110+
allshader::WaveformRendererSignalBase::Options(
1111+
allshader::WaveformRendererSignalBase::Option::None));
11111112
return new allshader::WaveformWidget(viewer, type, viewer->getGroup(), options);
11121113
}
11131114

@@ -1392,9 +1393,9 @@ void WaveformWidgetFactory::setDefaultBackend() {
13921393
}
13931394

13941395
allshader::WaveformRendererSignalBase::Options WaveformWidgetFactory::getWaveformOptions() {
1395-
auto options = m_config->getValue(
1396-
kWaveformOptionsKey,
1397-
allshader::WaveformRendererSignalBase::Option::None);
1396+
auto options = m_config->getValue(kWaveformOptionsKey,
1397+
allshader::WaveformRendererSignalBase::Options(
1398+
allshader::WaveformRendererSignalBase::Option::None));
13981399
return options;
13991400
}
14001401

0 commit comments

Comments
 (0)