Fix disappearing marker data

This commit is contained in:
Jan Käberich 2020-12-15 16:51:27 +01:00
parent c5440210b4
commit f0c5962878
2 changed files with 9 additions and 11 deletions

View File

@ -463,12 +463,14 @@ void TraceMarker::assignDeltaMarker(TraceMarker *m)
void TraceMarker::deleteHelperMarkers()
{
emit beginRemoveHelperMarkers(this);
for(auto m : helperMarkers) {
delete m;
if(helperMarkers.size() > 0) {
emit beginRemoveHelperMarkers(this);
for(auto m : helperMarkers) {
delete m;
}
helperMarkers.clear();
emit endRemoveHelperMarkers(this);
}
helperMarkers.clear();
emit endRemoveHelperMarkers(this);
}
void TraceMarker::setType(TraceMarker::Type t)

View File

@ -88,15 +88,11 @@ void TraceMarkerModel::addMarker(TraceMarker *t)
connect(t, &TraceMarker::beginRemoveHelperMarkers, [=](TraceMarker *m) {
auto row = find(markers.begin(), markers.end(), m) - markers.begin();
auto modelIndex = createIndex(row, 0, root);
if(!m->getHelperMarkers().empty()){
beginRemoveRows(modelIndex, 0, m->getHelperMarkers().size() - 1);
}
beginRemoveRows(modelIndex, 0, m->getHelperMarkers().size() - 1);
});
connect(t, &TraceMarker::endRemoveHelperMarkers, [=](TraceMarker *m) {
endRemoveRows();
markerDataChanged(m);
if(!m->getHelperMarkers().empty()){
endRemoveRows();
}
});
connect(t, &TraceMarker::deleted, this, qOverload<TraceMarker*>(&TraceMarkerModel::removeMarker));
emit markerAdded(t);