X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fsession.cpp;h=31cbb73c19e1fb37fde8955dff2de9e35062f683;hp=c9a569f7f9e9d67fb3288b16a724accf8e761428;hb=bcd64b9b7ae8187a9519c374e2552f6a00904251;hpb=634ecdcdad8c19ec27c879d3eae74c4d65030511 diff --git a/pv/session.cpp b/pv/session.cpp index c9a569f7..31cbb73c 100644 --- a/pv/session.cpp +++ b/pv/session.cpp @@ -415,16 +415,17 @@ void Session::set_device(shared_ptr device) device_->open(); } catch (const QString &e) { device_.reset(); - device_changed(); - throw; } - device_->session()->add_datafeed_callback([=] - (shared_ptr device, shared_ptr packet) { - data_feed_in(device, packet); - }); + if (device_) { + device_->session()->add_datafeed_callback([=] + (shared_ptr device, shared_ptr packet) { + data_feed_in(device, packet); + }); + + update_signals(); + } - update_signals(); device_changed(); }