Absturz bei closeAllWindows
Verfasst: 1. Mai 2008 10:59
Ich möchte, dass das Programm korrekt geschlossen wird bei einem Klicken von X im Fenstertitel. Dazu fange ich closeEvent ab:
im Beendigungscode kommt das Programm jedoch nie aus closeAllWindows heraus.
konkret kommt das Programm nie aus der for Schleife von closeAllWindows() heraus:
Code: Alles auswählen
void MainWindow::closeEvent ( QCloseEvent * event )
{
quitProgram();
}
Code: Alles auswählen
void MainWindow::quitProgram()
{
qApp->closeAllWindows();
PhaseObjects.resize(0);
qApp->quit();
}
Code: Alles auswählen
void QApplication::closeAllWindows()
{
bool did_close = true;
QWidget *w;
while((w = activeModalWidget()) && did_close) {
if(!w->isVisible())
break;
did_close = w->close();
}
QWidgetList list = QApplication::topLevelWidgets();
for (int i = 0; did_close && i < list.size(); ++i) {
w = list.at(i);
if (w->isVisible() && w->windowType() != Qt::Desktop) {
did_close = w->close();
list = QApplication::topLevelWidgets();
i = -1;
}
}
}