diff --git a/dbc/dbcsignaleditor.cpp b/dbc/dbcsignaleditor.cpp index f915dfb..20089fd 100644 --- a/dbc/dbcsignaleditor.cpp +++ b/dbc/dbcsignaleditor.cpp @@ -778,6 +778,8 @@ void DBCSignalEditor::fillValueTable(DBC_SIGNAL *sig) void DBCSignalEditor::bitfieldLeftClicked(int bit) { if (currentSignal == nullptr) return; + + pushToUndoBuffer(); currentSignal->startBit = bit; if (currentSignal->valType == SP_FLOAT) { @@ -812,6 +814,9 @@ void DBCSignalEditor::bitfieldRightClicked(int bit) //which is quite luckily also the index into the signal handler table int sigNum = ui->bitfield->getUsedSignalNum(bit); if (sigNum < 0) return; + + pushToUndoBuffer(); // undo to resume editing the previous signal + currentSignal = dbcMessage->sigHandler->findSignalByIdx(sigNum); if (currentSignal) diff --git a/mainwindow.cpp b/mainwindow.cpp index a9f5ed2..d52b53d 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -593,7 +593,7 @@ void MainWindow::setupSendToLatestGraphWindow() GraphParams param; QString signalName = getSignalNameFromPosition(contextMenuPosition); param.ID = getMessageIDFromPosition(contextMenuPosition); - DBC_MESSAGE *msg = dbcHandler->findMessageForFilter(param.ID, nullptr); + DBC_MESSAGE *msg = dbcHandler->findMessage(param.ID); if(msg) { DBC_SIGNAL *sig = msg->sigHandler->findSignalByName(signalName);