Mercurial > hg > sonic-visualiser
diff main/MainWindow.cpp @ 500:032deed8b35b
Connect quit function directly to closeAllWindows rather than try to closeAllWindows from close() (which strangely hangs on Windows)
author | Chris Cannam |
---|---|
date | Mon, 30 Jan 2012 16:56:39 +0000 |
parents | d2a58dfc3ae5 |
children | d09a396cde80 |
line wrap: on
line diff
--- a/main/MainWindow.cpp Mon Jan 30 16:06:47 2012 +0000 +++ b/main/MainWindow.cpp Mon Jan 30 16:56:39 2012 +0000 @@ -149,7 +149,6 @@ m_soloAction(0), m_soloModified(false), m_prevSolo(false), - m_exiting(false), m_rwdStartAction(0), m_rwdSimilarAction(0), m_rwdAction(0), @@ -576,7 +575,7 @@ tr("&Quit"), this); action->setShortcut(tr("Ctrl+Q")); action->setStatusTip(tr("Exit Sonic Visualiser")); - connect(action, SIGNAL(triggered()), this, SLOT(close())); + connect(action, SIGNAL(triggered()), qApp, SLOT(closeAllWindows())); m_keyReference->registerShortcut(action); menu->addAction(action); } @@ -3038,12 +3037,7 @@ void MainWindow::closeEvent(QCloseEvent *e) { - if (m_exiting) { - e->accept(); - return; - } - -// SVDEBUG << "MainWindow::closeEvent" << endl; +// std::cerr << "MainWindow::closeEvent" << std::endl; if (m_openingAudioFile) { // std::cerr << "Busy - ignoring close event" << std::endl; @@ -3052,7 +3046,7 @@ } if (!m_abandoning && !checkSaveModified()) { -// SVDEBUG << "Ignoring close event" << endl; +// std::cerr << "Close refused by user - ignoring close event" << endl; e->ignore(); return; } @@ -3076,9 +3070,6 @@ e->accept(); - m_exiting = true; - qApp->closeAllWindows(); - return; } @@ -3437,7 +3428,7 @@ LayerFactory::LayerTypeSet emptyTypes = LayerFactory::getInstance()->getValidEmptyLayerTypes(); - Layer *newLayer; + Layer *newLayer = 0; if (emptyTypes.find(type) != emptyTypes.end()) {