Hi Becky,
Based on your testing, I just pushed the following to master:
Code:
void PluginRunner::cancelPlugin()
{
// qDebug() << "in cancelPlugin()";
if (m_process.state() == QProcess::Running) {
m_process.terminate();
}
m_process.waitForFinished(2000);
if (m_process.state() == QProcess::Running) {
m_process.kill();
}
m_process.waitForFinished(2000);
ui.okButton->setEnabled(true);
ui.progressBar->setRange(0,100);
ui.progressBar->reset();
ui.textEdit->append(tr("Plugin cancelled"));
ui.statusLbl->setText(tr("Status: cancelled"));
ui.cancelButton->setEnabled(false);
}
Does this at least close all of the python windows? Any more crashes?
Combined it waits for 4 seconds to be a bit safer.