diff --git a/dbchandler.cpp b/dbchandler.cpp index 13dffd5..18ad33a 100644 --- a/dbchandler.cpp +++ b/dbchandler.cpp @@ -281,6 +281,7 @@ DBC_MESSAGE *DBCHandler::findMsgByID(int id) DBC_SIGNAL *DBCHandler::findSignalByName(DBC_MESSAGE *msg, QString name) { + if (msg == NULL) return NULL; if (msg->msgSignals.length() == 0) return NULL; for (int i = 0; i < msg->msgSignals.length(); i++) { diff --git a/dbcsignaleditor.cpp b/dbcsignaleditor.cpp index 2226958..7ea0975 100644 --- a/dbcsignaleditor.cpp +++ b/dbcsignaleditor.cpp @@ -1,5 +1,6 @@ #include "dbcsignaleditor.h" #include "ui_dbcsignaleditor.h" +#include DBCSignalEditor::DBCSignalEditor(DBCHandler *handler, QWidget *parent) : QDialog(parent), @@ -63,9 +64,6 @@ void DBCSignalEditor::fillSignalForm(DBC_SIGNAL *sig) { unsigned char bitpattern[8]; - - - ui->txtName->setText(sig->name); ui->txtBias->setText(QString::number(sig->bias)); ui->txtBitLength->setText(QString::number(sig->signalSize)); @@ -144,7 +142,10 @@ void DBCSignalEditor::fillValueTable(DBC_SIGNAL *sig) void DBCSignalEditor::clickSignalList(int row) { + if (row < 0) return; + //qDebug() << ui->signalsList->item(row)->text(); DBC_SIGNAL *thisSig = dbcHandler->findSignalByName(dbcMessage, ui->signalsList->item(row)->text()); + if (thisSig == NULL) return; fillSignalForm(thisSig); fillValueTable(thisSig);