projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Segments: Fix iterator access to underlying value
[pulseview.git]
/
pv
/
popups
/
channels.cpp
diff --git
a/pv/popups/channels.cpp
b/pv/popups/channels.cpp
index ce023a8ffdd622d908731cd41c724d4ac3634d91..ffe42fd8ea21717444c6294d5d3d89758d18189f 100644
(file)
--- a/
pv/popups/channels.cpp
+++ b/
pv/popups/channels.cpp
@@
-163,7
+163,7
@@
void Channels::set_all_channels(bool set)
updating_channels_ = false;
}
updating_channels_ = false;
}
-void Channels::
set_all
_channels_conditionally(
+void Channels::
enable
_channels_conditionally(
function<bool (const shared_ptr<data::SignalBase>)> cond_func)
{
updating_channels_ = true;
function<bool (const shared_ptr<data::SignalBase>)> cond_func)
{
updating_channels_ = true;
@@
-174,8
+174,10
@@
void Channels::set_all_channels_conditionally(
assert(sig);
const bool state = cond_func(sig);
assert(sig);
const bool state = cond_func(sig);
- sig->set_enabled(state);
- cb->setChecked(state);
+ if (state) {
+ sig->set_enabled(state);
+ cb->setChecked(state);
+ }
}
updating_channels_ = false;
}
updating_channels_ = false;
@@
-303,25
+305,25
@@
void Channels::disable_all_channels()
void Channels::enable_all_logic_channels()
{
void Channels::enable_all_logic_channels()
{
-
set_all
_channels_conditionally([](const shared_ptr<SignalBase> signal)
+
enable
_channels_conditionally([](const shared_ptr<SignalBase> signal)
{ return signal->type() == SignalBase::LogicChannel; });
}
void Channels::enable_all_analog_channels()
{
{ return signal->type() == SignalBase::LogicChannel; });
}
void Channels::enable_all_analog_channels()
{
-
set_all
_channels_conditionally([](const shared_ptr<SignalBase> signal)
+
enable
_channels_conditionally([](const shared_ptr<SignalBase> signal)
{ return signal->type() == SignalBase::AnalogChannel; });
}
void Channels::enable_all_named_channels()
{
{ return signal->type() == SignalBase::AnalogChannel; });
}
void Channels::enable_all_named_channels()
{
-
set_all
_channels_conditionally([](const shared_ptr<SignalBase> signal)
+
enable
_channels_conditionally([](const shared_ptr<SignalBase> signal)
{ return signal->name() != signal->internal_name(); });
}
void Channels::enable_all_changing_channels()
{
{ return signal->name() != signal->internal_name(); });
}
void Channels::enable_all_changing_channels()
{
-
set_all
_channels_conditionally([](const shared_ptr<SignalBase> signal)
+
enable
_channels_conditionally([](const shared_ptr<SignalBase> signal)
{
// Never enable channels without sample data
if (!signal->has_samples())
{
// Never enable channels without sample data
if (!signal->has_samples())