diff --git a/common/pm3process.cpp b/common/pm3process.cpp index f107060..5417e0f 100644 --- a/common/pm3process.cpp +++ b/common/pm3process.cpp @@ -108,9 +108,7 @@ void PM3Process::onTimeout() //when the proxmark3 client is unexpectedly termina // qDebug()<isBusy(); if(!portInfo->isBusy()) { - kill(); - emit PM3StatedChanged(false); - setSerialListener(false); + killPM3(); } } @@ -149,3 +147,10 @@ void PM3Process::setWorkingDir(const QString& dir) // the working directory cannot be the default, or the client will failed to load the dll this->setWorkingDirectory(dir); } + +void PM3Process::killPM3() +{ + kill(); + emit PM3StatedChanged(false); + setSerialListener(false); +} diff --git a/common/pm3process.h b/common/pm3process.h index 3749422..44c7b3e 100644 --- a/common/pm3process.h +++ b/common/pm3process.h @@ -30,6 +30,7 @@ public slots: void reconnectPM3(); void setProcEnv(const QStringList* env); void setWorkingDir(const QString& dir); + void killPM3(); private slots: void onTimeout(); void onReadyRead(); diff --git a/ui/mainwindow.cpp b/ui/mainwindow.cpp index bab1524..9e1a015 100644 --- a/ui/mainwindow.cpp +++ b/ui/mainwindow.cpp @@ -1039,7 +1039,7 @@ void MainWindow::signalInit() connect(this, &MainWindow::reconnectPM3, pm3, &PM3Process::reconnectPM3); connect(pm3, &PM3Process::PM3StatedChanged, this, &MainWindow::onPM3StateChanged); connect(pm3, &PM3Process::PM3StatedChanged, util, &Util::setRunningState); - connect(this, &MainWindow::killPM3, pm3, &PM3Process::kill); + connect(this, &MainWindow::killPM3, pm3, &PM3Process::killPM3); connect(this, &MainWindow::setProcEnv, pm3, &PM3Process::setProcEnv); connect(this, &MainWindow::setWorkingDir, pm3, &PM3Process::setWorkingDir); connect(this, QOverload::of(&MainWindow::setSerialListener), pm3, QOverload::of(&PM3Process::setSerialListener));