diff --git a/tools/lammps-gui/lammpsgui.cpp b/tools/lammps-gui/lammpsgui.cpp index dabc5f60df..904cab796f 100644 --- a/tools/lammps-gui/lammpsgui.cpp +++ b/tools/lammps-gui/lammpsgui.cpp @@ -369,7 +369,7 @@ void LammpsGui::logupdate() double t_elapsed, t_remain, t_total; int completed = 1000; - if (is_running) { + if (lammps.is_running()) { t_elapsed = lammps.get_thermo("cpu"); t_remain = lammps.get_thermo("cpuremain"); t_total = t_elapsed + t_remain + 1.0e-10; @@ -441,7 +441,8 @@ void LammpsGui::run_buffer() clear(); capturer->BeginCapture(); - char *input = mystrdup(ui->textEdit->toPlainText().toStdString()); + // always add final newline since the text edit widget does not + char *input = mystrdup(ui->textEdit->toPlainText().toStdString() + "\n"); is_running = true; LammpsRunner *runner = new LammpsRunner(this); @@ -524,7 +525,6 @@ void LammpsGui::view_image() void LammpsGui::clear() { - if (!lammps.is_open()) lammps.command("clear"); ui->textEdit->moveCursor(QTextCursor::Start, QTextCursor::MoveAnchor); } diff --git a/tools/lammps-gui/lammpsrunner.h b/tools/lammps-gui/lammpsrunner.h index ea3eaab9a6..241e5dcc55 100644 --- a/tools/lammps-gui/lammpsrunner.h +++ b/tools/lammps-gui/lammpsrunner.h @@ -20,13 +20,14 @@ class LammpsRunner : public QThread { Q_OBJECT public: - LammpsRunner(QObject *parent = nullptr) : QThread(parent), lammps(nullptr), input(nullptr) {} + LammpsRunner(QObject *parent = nullptr) : QThread(parent), lammps(nullptr), input(nullptr) {} ~LammpsRunner() = default; public: // execute LAMMPS in runner thread void run() override { + lammps->command("clear"); lammps->commands_string(input); emit resultReady(); }