avoid uninitialized data access and segfaults when calling main widget functions

This commit is contained in:
Axel Kohlmeyer
2023-10-13 06:18:34 -04:00
parent 3ebcb0f6f1
commit 2629136958
5 changed files with 16 additions and 16 deletions

View File

@ -124,10 +124,10 @@ void ChartWindow::add_data(int step, double data, int index)
void ChartWindow::quit() void ChartWindow::quit()
{ {
LammpsGui *main; LammpsGui *main = nullptr;
for (QWidget *widget : QApplication::topLevelWidgets()) for (QWidget *widget : QApplication::topLevelWidgets())
if (widget->objectName() == "LammpsGui") main = dynamic_cast<LammpsGui *>(widget); if (widget->objectName() == "LammpsGui") main = dynamic_cast<LammpsGui *>(widget);
main->quit(); if (main) main->quit();
} }
void ChartWindow::reset_zoom() void ChartWindow::reset_zoom()
@ -138,10 +138,10 @@ void ChartWindow::reset_zoom()
void ChartWindow::stop_run() void ChartWindow::stop_run()
{ {
LammpsGui *main; LammpsGui *main = nullptr;
for (QWidget *widget : QApplication::topLevelWidgets()) for (QWidget *widget : QApplication::topLevelWidgets())
if (widget->objectName() == "LammpsGui") main = dynamic_cast<LammpsGui *>(widget); if (widget->objectName() == "LammpsGui") main = dynamic_cast<LammpsGui *>(widget);
main->stop_run(); if (main) main->stop_run();
} }
void ChartWindow::saveAs() void ChartWindow::saveAs()

View File

@ -533,10 +533,10 @@ void ImageViewer::copy() {}
void ImageViewer::quit() void ImageViewer::quit()
{ {
LammpsGui *main; LammpsGui *main = nullptr;
for (QWidget *widget : QApplication::topLevelWidgets()) for (QWidget *widget : QApplication::topLevelWidgets())
if (widget->objectName() == "LammpsGui") main = dynamic_cast<LammpsGui *>(widget); if (widget->objectName() == "LammpsGui") main = dynamic_cast<LammpsGui *>(widget);
main->quit(); if (main) main->quit();
} }
void ImageViewer::saveFile(const QString &fileName) void ImageViewer::saveFile(const QString &fileName)

View File

@ -57,18 +57,18 @@ void LogWindow::closeEvent(QCloseEvent *event)
void LogWindow::quit() void LogWindow::quit()
{ {
LammpsGui *main; LammpsGui *main = nullptr;
for (QWidget *widget : QApplication::topLevelWidgets()) for (QWidget *widget : QApplication::topLevelWidgets())
if (widget->objectName() == "LammpsGui") main = dynamic_cast<LammpsGui *>(widget); if (widget->objectName() == "LammpsGui") main = dynamic_cast<LammpsGui *>(widget);
main->quit(); if (main) main->quit();
} }
void LogWindow::stop_run() void LogWindow::stop_run()
{ {
LammpsGui *main; LammpsGui *main = nullptr;
for (QWidget *widget : QApplication::topLevelWidgets()) for (QWidget *widget : QApplication::topLevelWidgets())
if (widget->objectName() == "LammpsGui") main = dynamic_cast<LammpsGui *>(widget); if (widget->objectName() == "LammpsGui") main = dynamic_cast<LammpsGui *>(widget);
main->stop_run(); if (main) main->stop_run();
} }
void LogWindow::save_as() void LogWindow::save_as()

View File

@ -286,12 +286,12 @@ GeneralTab::GeneralTab(QSettings *_settings, LammpsWrapper *_lammps, QWidget *pa
void GeneralTab::updatefonts(const QFont &all, const QFont &text) void GeneralTab::updatefonts(const QFont &all, const QFont &text)
{ {
LammpsGui *main; LammpsGui *main = nullptr;
for (QWidget *widget : QApplication::topLevelWidgets()) for (QWidget *widget : QApplication::topLevelWidgets())
if (widget->objectName() == "LammpsGui") main = dynamic_cast<LammpsGui *>(widget); if (widget->objectName() == "LammpsGui") main = dynamic_cast<LammpsGui *>(widget);
QApplication::setFont(all); QApplication::setFont(all);
main->ui->textEdit->document()->setDefaultFont(text); if (main) main->ui->textEdit->document()->setDefaultFont(text);
} }
void GeneralTab::newallfont() void GeneralTab::newallfont()

View File

@ -199,18 +199,18 @@ void SlideShow::loadImage(int idx)
void SlideShow::quit() void SlideShow::quit()
{ {
LammpsGui *main; LammpsGui *main = nullptr;
for (QWidget *widget : QApplication::topLevelWidgets()) for (QWidget *widget : QApplication::topLevelWidgets())
if (widget->objectName() == "LammpsGui") main = dynamic_cast<LammpsGui *>(widget); if (widget->objectName() == "LammpsGui") main = dynamic_cast<LammpsGui *>(widget);
main->quit(); if (main) main->quit();
} }
void SlideShow::stop_run() void SlideShow::stop_run()
{ {
LammpsGui *main; LammpsGui *main = nullptr;
for (QWidget *widget : QApplication::topLevelWidgets()) for (QWidget *widget : QApplication::topLevelWidgets())
if (widget->objectName() == "LammpsGui") main = dynamic_cast<LammpsGui *>(widget); if (widget->objectName() == "LammpsGui") main = dynamic_cast<LammpsGui *>(widget);
main->stop_run(); if (main) main->stop_run();
} }
void SlideShow::movie() void SlideShow::movie()