Wizards: Do not crash when dialogs are still open on quit

Change-Id: I49622484e316b902699e5b63ea3eea827d2f2680
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
This commit is contained in:
Eike Ziller
2015-06-04 16:36:45 +02:00
committed by Tobias Hunger
parent eaf718bdea
commit 4890307b0c
4 changed files with 13 additions and 10 deletions

View File

@@ -84,18 +84,22 @@ WindowSupport::WindowSupport(QWidget *window, const Context &context)
connect(m_toggleFullScreenAction, SIGNAL(triggered()), this, SLOT(toggleFullScreen()));
WindowList::addWindow(window);
connect(ICore::instance(), &ICore::coreAboutToClose, this, [this]() { m_shutdown = true; });
}
WindowSupport::~WindowSupport()
{
if (UseMacShortcuts) {
ActionManager::unregisterAction(m_minimizeAction, Constants::MINIMIZE_WINDOW);
ActionManager::unregisterAction(m_zoomAction, Constants::ZOOM_WINDOW);
ActionManager::unregisterAction(m_closeAction, Constants::CLOSE_WINDOW);
if (!m_shutdown) { // don't update all that stuff if we are shutting down anyhow
if (UseMacShortcuts) {
ActionManager::unregisterAction(m_minimizeAction, Constants::MINIMIZE_WINDOW);
ActionManager::unregisterAction(m_zoomAction, Constants::ZOOM_WINDOW);
ActionManager::unregisterAction(m_closeAction, Constants::CLOSE_WINDOW);
}
ActionManager::unregisterAction(m_toggleFullScreenAction, Constants::TOGGLE_FULLSCREEN);
ICore::removeContextObject(m_contextObject);
WindowList::removeWindow(m_window);
}
ActionManager::unregisterAction(m_toggleFullScreenAction, Constants::TOGGLE_FULLSCREEN);
ICore::removeContextObject(m_contextObject);
WindowList::removeWindow(m_window);
}
void WindowSupport::setCloseActionEnabled(bool enabled)