From 7af544e03ff98dd00b1f1ebf3c8044c23714a62a Mon Sep 17 00:00:00 2001 From: Lucidiot Date: Fri, 24 Sep 2021 00:32:28 +0200 Subject: [PATCH 1/3] Allow overriding PREFIX on qmake I tried to build SavvyCAN for Alpine Linux and ran `qtmake-qt5 PREFIX=/usr`. I got errors because Alpine's packaging tool does not allow placing any files in `/usr/local`; it turns out the prefix I set was ignored because `isEmpty(PREFIX)` was not directly followed by a block, so the block statement gets treated as a separate statement and the `isEmpty` just does nothing. --- SavvyCAN.pro | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/SavvyCAN.pro b/SavvyCAN.pro index 789ec72..ee9ac6f 100644 --- a/SavvyCAN.pro +++ b/SavvyCAN.pro @@ -225,8 +225,7 @@ win32-g++ { } unix { - isEmpty(PREFIX) - { + isEmpty(PREFIX) { PREFIX=/usr/local } target.path = $$PREFIX/bin From 31c26a7df00da4b9713f07847b9905e219d06e76 Mon Sep 17 00:00:00 2001 From: Matthias Kelch Date: Mon, 27 Sep 2021 17:52:30 +0200 Subject: [PATCH 2/3] Fix segfaults when add to graphing window for signal not found in DBC --- mainwindow.cpp | 56 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 38 insertions(+), 18 deletions(-) diff --git a/mainwindow.cpp b/mainwindow.cpp index 89e1d42..af8503d 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -535,6 +535,7 @@ void MainWindow::setupAddToNewGraph() setupSendToLatestGraphWindow(); //then call the other function to finish } + void MainWindow::setupSendToLatestGraphWindow() { if (!lastGraphingWindow) showGraphingWindow(); @@ -542,26 +543,45 @@ void MainWindow::setupSendToLatestGraphWindow() QString signalName = getSignalNameFromPosition(contextMenuPosition); param.ID = getMessageIDFromPosition(contextMenuPosition); DBC_MESSAGE *msg = dbcHandler->findMessageForFilter(param.ID, nullptr); - DBC_SIGNAL *sig = msg->sigHandler->findSignalByName(signalName); - param.associatedSignal = sig; - param.bias = sig->bias; - param.intelFormat = sig->intelByteOrder; - param.isSigned = sig->valType == SIGNED_INT ? true : false; - param.numBits = sig->signalSize; - param.scale = sig->factor; - param.startBit = sig->startBit; - param.stride = 1; - param.graphName = sig->name; - param.lineColor = QColor(QRandomGenerator::global()->bounded(160), QRandomGenerator::global()->bounded(160), QRandomGenerator::global()->bounded(160)); - param.lineWidth = 1; - param.fillColor = QColor(128, 128, 128, 0); - param.mask = 0xFFFFFFFFFFFFFFFFull; - param.drawOnlyPoints = false; - param.pointType = 0; + if(msg) + { + DBC_SIGNAL *sig = msg->sigHandler->findSignalByName(signalName); + if(sig) + { + param.associatedSignal = sig; + param.bias = sig->bias; + param.intelFormat = sig->intelByteOrder; + param.isSigned = sig->valType == SIGNED_INT ? true : false; + param.numBits = sig->signalSize; + param.scale = sig->factor; + param.startBit = sig->startBit; + param.stride = 1; + param.graphName = sig->name; + param.lineColor = QColor(QRandomGenerator::global()->bounded(160), QRandomGenerator::global()->bounded(160), QRandomGenerator::global()->bounded(160)); + param.lineWidth = 1; + param.fillColor = QColor(128, 128, 128, 0); + param.mask = 0xFFFFFFFFFFFFFFFFull; + param.drawOnlyPoints = false; + param.pointType = 0; - lastGraphingWindow->createGraph(param); //add the new graph to the window + lastGraphingWindow->createGraph(param); //add the new graph to the window + } + else + { + QMessageBox msgbox; + QString boxmsg = "Cannot find ID 0x" + QStringLiteral("%1").arg(param.ID, 3, 16, QLatin1Char('0')) + " in DBC message " + msg->name + ". Not adding graph."; + msgbox.setText(boxmsg); + msgbox.exec(); + } + } + else + { + QMessageBox msgbox; + QString boxmsg = "Cannot find ID 0x" + QStringLiteral("%1").arg(param.ID, 3, 16, QLatin1Char('0')) + " in DBC file(s). Not adding graph."; + msgbox.setText(boxmsg); + msgbox.exec(); + } } - void MainWindow::interpretToggled(bool state) { model->setInterpretMode(state); From 21b2d9d4c6277936dade40d2eda4e0a8c6e9399a Mon Sep 17 00:00:00 2001 From: Collin Kidder Date: Mon, 27 Sep 2021 21:18:04 -0400 Subject: [PATCH 3/3] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0ee83d6..59de349 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,7 +31,7 @@ jobs: make INSTALL_ROOT=appdir install wget -c -nv "https://github.com/probonopd/linuxdeployqt/releases/download/5/linuxdeployqt-5-x86_64.AppImage" chmod a+x linuxdeployqt-5-x86_64.AppImage - ./linuxdeployqt-5-x86_64.AppImage appdir/usr/local/share/applications/SavvyCAN.desktop -appimage -extra-plugins=iconengines,platformthemes/libqgtk3.so,canbus + ./linuxdeployqt-5-x86_64.AppImage appdir/usr/share/applications/SavvyCAN.desktop -appimage -extra-plugins=iconengines,platformthemes/libqgtk3.so,canbus - uses: actions/upload-artifact@v2 with: