+ device_.reset();
+
+ // Remove all stored data
+ for (std::shared_ptr<pv::view::View> view : views_)
+ view->clear_signals();
+ for (const shared_ptr<data::SignalData> d : all_signal_data_)
+ d->clear();
+ all_signal_data_.clear();
+ signalbases_.clear();
+ cur_logic_segment_.reset();
+
+ for (auto entry : cur_analog_segments_) {
+ shared_ptr<sigrok::Channel>(entry.first).reset();
+ shared_ptr<data::AnalogSegment>(entry.second).reset();
+ }
+
+ logic_data_.reset();
+ decode_traces_.clear();
+
+ signals_changed();
+