Commit 8a3218b4 authored by Don Gagne's avatar Don Gagne

Queue delayed window close if open connections

parent 06c03467
......@@ -636,11 +636,15 @@ void MainWindow::closeEvent(QCloseEvent *event)
QMessageBox::Cancel);
if (button == QMessageBox::Yes) {
LinkManager::instance()->disconnectAll();
} else {
// The above disconnect causes a flurry of activity as the vehicle components are removed. This in turn
// causes the Windows Version of Qt to crash if you allow the close event to be accepted. In order to prevent
// the crash, we ignore the close event and setup a delayed timer to close the window after things settle down.
QTimer::singleShot(1500, this, &MainWindow::_closeWindow);
}
event->ignore();
return;
}
}
// This will process any remaining flight log save dialogs
qgcApp()->processEvents(QEventLoop::ExcludeUserInputEvents);
......
......@@ -287,6 +287,7 @@ private slots:
#ifdef UNITTEST_BUILD
void _showQmlTestWidget(void);
#endif
void _closeWindow(void) { close(); }
private:
/// Constructor is private since all creation should be through MainWindow::_create
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment