From bf309130f37265fe2f6467330f818fa60351f5dd Mon Sep 17 00:00:00 2001 From: Collin Kidder Date: Tue, 21 Nov 2023 21:04:56 -0500 Subject: [PATCH] Fix crash bug in graphing window when trying to edit graphs that don't hvae a corresponding signal entry in a DBC file --- re/newgraphdialog.cpp | 61 +++++++++++++++++++++++-------------------- 1 file changed, 32 insertions(+), 29 deletions(-) diff --git a/re/newgraphdialog.cpp b/re/newgraphdialog.cpp index cff0168..6b759f4 100644 --- a/re/newgraphdialog.cpp +++ b/re/newgraphdialog.cpp @@ -227,51 +227,54 @@ void NewGraphDialog::setParams(GraphParams ¶ms) loadNodes(); - auto msg = assocSignal->parentMessage; - auto node = msg->sender; - - bool nodeFound = false; - for(int i=0; icbNodes->count(); i++) + if (assocSignal) { - if(ui->cbNodes->itemText(i) == node->sourceFileName + Utility::fullyQualifiedNameSeperator + node->name) - { - ui->cbNodes->setCurrentIndex(i); - nodeFound = true; - break; - } - } + auto msg = assocSignal->parentMessage; + auto node = msg->sender; - qDebug() << "Matching plot params to Node: " << nodeFound; - - if(nodeFound) - { - bool msgFound = false; - for(int i=0; icbMessages->count(); i++) + bool nodeFound = false; + for(int i=0; icbNodes->count(); i++) { - if(ui->cbMessages->itemText(i) == msg->name) + if(ui->cbNodes->itemText(i) == node->sourceFileName + Utility::fullyQualifiedNameSeperator + node->name) { - ui->cbMessages->setCurrentIndex(i); - msgFound = true; + ui->cbNodes->setCurrentIndex(i); + nodeFound = true; break; } } - qDebug() << "Matching plot params to Msg: " << msgFound; + qDebug() << "Matching plot params to Node: " << nodeFound; - if(msgFound) + if(nodeFound) { - bool sigFound = false; - for(int i=0; icbSignals->count(); i++) + bool msgFound = false; + for(int i=0; icbMessages->count(); i++) { - if(ui->cbSignals->itemText(i) == assocSignal->name) + if(ui->cbMessages->itemText(i) == msg->name) { - ui->cbSignals->setCurrentIndex(i); - sigFound = true; + ui->cbMessages->setCurrentIndex(i); + msgFound = true; break; } } - qDebug() << "Matching plot params to Signal: " << sigFound; + qDebug() << "Matching plot params to Msg: " << msgFound; + + if(msgFound) + { + bool sigFound = false; + for(int i=0; icbSignals->count(); i++) + { + if(ui->cbSignals->itemText(i) == assocSignal->name) + { + ui->cbSignals->setCurrentIndex(i); + sigFound = true; + break; + } + } + + qDebug() << "Matching plot params to Signal: " << sigFound; + } } } //ui->cbNodes->model()->