Skip to content

Commit f201595

Browse files
committed
Fix reading allshader::WaveformRendererSignalBase::Options as single Option
1 parent c49b922 commit f201595

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
@@ -192,6 +192,12 @@ template <class ValueType> class ConfigObject {
192192
// we need to take default_value as const ref otherwise the overload is ambiguous
193193
return static_cast<EnumType>(getValue<int>(key, static_cast<int>(default_value)));
194194
}
195+
template<typename EnumType>
196+
requires std::is_enum_v<EnumType>
197+
QFlags<EnumType> getValue(const ConfigKey& key, const QFlags<EnumType>& default_value) const {
198+
// we need to take default_value as const ref otherwise the overload is ambiguous
199+
return QFlags<EnumType>(getValue<int>(key, static_cast<int>(default_value)));
200+
}
195201

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

src/waveform/waveformwidgetfactory.cpp

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

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

@@ -1391,9 +1392,9 @@ void WaveformWidgetFactory::setDefaultBackend() {
13911392
}
13921393

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

0 commit comments

Comments
 (0)