projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Session: Improve signal handling during device selection
[pulseview.git]
/
pv
/
session.cpp
diff --git
a/pv/session.cpp
b/pv/session.cpp
index 9fd8fb3eb9b5bdf6a1c03cf5f457e9b5113de493..e2b6dd7174a0bcdfcadef6ab0041454ab4a2a8c0 100644
(file)
--- a/
pv/session.cpp
+++ b/
pv/session.cpp
@@
-138,6
+138,13
@@
void Session::set_device(shared_ptr<devices::Device> device)
if (device_)
device_->close();
if (device_)
device_->close();
+ device_.reset();
+
+ // Remove all traces
+ signals_.clear();
+ decode_traces_.clear();
+ signals_changed();
+
device_ = std::move(device);
device_->open();
device_->session()->add_datafeed_callback([=]
device_ = std::move(device);
device_->open();
device_->session()->add_datafeed_callback([=]
@@
-145,8
+152,6
@@
void Session::set_device(shared_ptr<devices::Device> device)
data_feed_in(device, packet);
});
data_feed_in(device, packet);
});
- decode_traces_.clear();
-
update_signals();
device_selected();
}
update_signals();
device_selected();
}