}
// Make the Signals list
- do {
+ {
lock_guard<mutex> lock(_signals_mutex);
_signals.clear();
switch(channel->type()->id()) {
case SR_CHANNEL_LOGIC:
signal = shared_ptr<view::Signal>(
- new view::LogicSignal(device, channel, _logic_data));
+ new view::LogicSignal(*this, device,
+ channel, _logic_data));
break;
case SR_CHANNEL_ANALOG:
shared_ptr<data::Analog> data(
new data::Analog());
signal = shared_ptr<view::Signal>(
- new view::AnalogSignal(channel, data));
+ new view::AnalogSignal(
+ *this, channel, data));
break;
}
_signals.push_back(signal);
}
- } while(0);
+ }
signals_changed();
}