From c71404a326b7d0229929e656ec05c9ab8cffc93d Mon Sep 17 00:00:00 2001 From: DreamSourceLab Date: Wed, 24 Jun 2015 22:30:12 +0800 Subject: [PATCH] fix delete group signal issue when capture data is NULL --- DSView/pv/sigsession.cpp | 11 +++++++---- libsigrok4DSL/hardware/DSL/dscope.c | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/DSView/pv/sigsession.cpp b/DSView/pv/sigsession.cpp index e4ecd442..3a6cb096 100644 --- a/DSView/pv/sigsession.cpp +++ b/DSView/pv/sigsession.cpp @@ -652,10 +652,13 @@ void SigSession::del_group() j++; } - _group_data->get_snapshots().at((*i)->get_sec_index()).reset(); - std::deque< boost::shared_ptr >::iterator k = _group_data->get_snapshots().begin(); - k += (*i)->get_sec_index(); - _group_data->get_snapshots().erase(k); + std::deque< boost::shared_ptr > &snapshots = _group_data->get_snapshots(); + if (!snapshots.empty()) { + _group_data->get_snapshots().at((*i)->get_sec_index()).reset(); + std::deque< boost::shared_ptr >::iterator k = snapshots.begin(); + k += (*i)->get_sec_index(); + _group_data->get_snapshots().erase(k); + } (*i).reset(); i = _group_traces.erase(i); diff --git a/libsigrok4DSL/hardware/DSL/dscope.c b/libsigrok4DSL/hardware/DSL/dscope.c index 76f807c4..07b3bc3f 100644 --- a/libsigrok4DSL/hardware/DSL/dscope.c +++ b/libsigrok4DSL/hardware/DSL/dscope.c @@ -1916,7 +1916,7 @@ static void receive_transfer(struct libusb_transfer *transfer) struct sr_dev_inst *sdi = devc->cb_data; for (l = sdi->channels; l; l = l->next) { struct sr_channel *probe = (struct sr_channel *)l->data; - channel_cnt ++; + channel_cnt++; channel_en_cnt += probe->enabled; } if (channel_en_cnt == 0)