calling close() causes the MDI view to get deleted as soon as possible while deleteLater() waits until the GUI is responsive

This commit is contained in:
wmayer
2017-07-17 11:11:58 +02:00
parent da2941943d
commit 234df4e661
2 changed files with 9 additions and 4 deletions

View File

@@ -92,10 +92,13 @@ void MDIView::deleteSelf()
// #0001023: Crash when quitting after using Windows > Tile
// Use deleteLater() instead of delete operator.
QWidget* parent = this->parentWidget();
if (qobject_cast<QMdiSubWindow*>(parent))
parent->deleteLater();
else
this->deleteLater();
if (qobject_cast<QMdiSubWindow*>(parent)) {
// https://forum.freecadweb.org/viewtopic.php?f=22&t=23070
parent->close();
}
else {
this->close();
}
// detach from document
if (_pcDocument)