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()
{
LammpsGui *main;
LammpsGui *main = nullptr;
for (QWidget *widget : QApplication::topLevelWidgets())
if (widget->objectName() == "LammpsGui") main = dynamic_cast<LammpsGui *>(widget);
main->quit();
if (main) main->quit();
}
void ChartWindow::reset_zoom()
@ -138,10 +138,10 @@ void ChartWindow::reset_zoom()
void ChartWindow::stop_run()
{
LammpsGui *main;
LammpsGui *main = nullptr;
for (QWidget *widget : QApplication::topLevelWidgets())
if (widget->objectName() == "LammpsGui") main = dynamic_cast<LammpsGui *>(widget);
main->stop_run();
if (main) main->stop_run();
}
void ChartWindow::saveAs()

View File

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

View File

@ -57,18 +57,18 @@ void LogWindow::closeEvent(QCloseEvent *event)
void LogWindow::quit()
{
LammpsGui *main;
LammpsGui *main = nullptr;
for (QWidget *widget : QApplication::topLevelWidgets())
if (widget->objectName() == "LammpsGui") main = dynamic_cast<LammpsGui *>(widget);
main->quit();
if (main) main->quit();
}
void LogWindow::stop_run()
{
LammpsGui *main;
LammpsGui *main = nullptr;
for (QWidget *widget : QApplication::topLevelWidgets())
if (widget->objectName() == "LammpsGui") main = dynamic_cast<LammpsGui *>(widget);
main->stop_run();
if (main) main->stop_run();
}
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)
{
LammpsGui *main;
LammpsGui *main = nullptr;
for (QWidget *widget : QApplication::topLevelWidgets())
if (widget->objectName() == "LammpsGui") main = dynamic_cast<LammpsGui *>(widget);
QApplication::setFont(all);
main->ui->textEdit->document()->setDefaultFont(text);
if (main) main->ui->textEdit->document()->setDefaultFont(text);
}
void GeneralTab::newallfont()

View File

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