# HG changeset patch # User Chris Cannam # Date 1374592370 -3600 # Node ID c06a9e8e27489232225a01e519957eee530fda62 # Parent 7a6fd7150f2d609688838dec0a101b772cb79eb7# Parent 09c8195c371d5993f479d1a2e9781336e901cfd8 Merge from default branch diff -r 7a6fd7150f2d -r c06a9e8e2748 .hgsubstate --- a/.hgsubstate Tue Jul 23 16:12:08 2013 +0100 +++ b/.hgsubstate Tue Jul 23 16:12:50 2013 +0100 @@ -1,5 +1,5 @@ 7096c7de2d4c327de5e028c33036f146a1884706 dataquay 619f715526df43e23b2b9b50715e825941572352 sv-dependency-builds -8cb01cd2441d1009fce5c1234ecbe033ce45484a svapp -bb7ea947c60d7ae76d3a608479f69a6308facd55 svcore -77fa3fdbfc7e2b9f96eac6524d48294fb47760c3 svgui +868db2bf6a694ab766cbf73b6b9c2a84907387d5 svapp +420ade1cb6da314a5717637d902238b713ebc4b0 svcore +0aea4b9e4c3dca9c42f9181748bdfde924a8574f svgui diff -r 7a6fd7150f2d -r c06a9e8e2748 deploy/osx/Info.plist --- a/deploy/osx/Info.plist Tue Jul 23 16:12:08 2013 +0100 +++ b/deploy/osx/Info.plist Tue Jul 23 16:12:50 2013 +0100 @@ -14,7 +14,6 @@ org.sonicvisualiser.SonicVisualiser CFBundleShortVersionString SV_VERSION - CFBundleDocumentTypes NSPrincipalClass @@ -22,6 +21,8 @@ NSHighResolutionCapable True + CFBundleDocumentTypes + diff -r 7a6fd7150f2d -r c06a9e8e2748 main/MainWindow.cpp --- a/main/MainWindow.cpp Tue Jul 23 16:12:08 2013 +0100 +++ b/main/MainWindow.cpp Tue Jul 23 16:12:50 2013 +0100 @@ -375,6 +375,11 @@ void MainWindow::goFullScreen() { + if (m_viewManager->getZoomWheelsEnabled()) { + // The wheels seem to end up in the wrong place in full-screen mode + toggleZoomWheels(); + } + QWidget *ps = m_mainScroll->takeWidget(); ps->setParent(0); @@ -409,6 +414,7 @@ if (sc) delete sc; } + m_paneStack->showNormal(); m_mainScroll->setWidget(m_paneStack); } diff -r 7a6fd7150f2d -r c06a9e8e2748 main/main.cpp --- a/main/main.cpp Tue Jul 23 16:12:08 2013 +0100 +++ b/main/main.cpp Tue Jul 23 16:12:50 2013 +0100 @@ -172,16 +172,21 @@ */ static QMutex cleanupMutex; +static bool cleanedUp = false; static void signalHandler(int /* signal */) { // Avoid this happening more than once across threads + std::cerr << "signalHandler: cleaning up and exiting" << std::endl; cleanupMutex.lock(); - std::cerr << "signalHandler: cleaning up and exiting" << std::endl; - TempDirectory::getInstance()->cleanup(); - exit(0); // without releasing mutex + if (!cleanedUp) { + TempDirectory::getInstance()->cleanup(); + cleanedUp = true; + } + cleanupMutex.unlock(); + exit(0); } class SVApplication : public QApplication @@ -422,8 +427,12 @@ cleanupMutex.lock(); - TransformFactory::deleteInstance(); - TempDirectory::getInstance()->cleanup(); + if (!cleanedUp) { + TransformFactory::deleteInstance(); + TempDirectory::getInstance()->cleanup(); + cleanedUp = true; + } + application.releaseMainWindow(); #ifdef HAVE_FFTW3F @@ -447,6 +456,8 @@ cleanupMutex.unlock(); + cleanupMutex.unlock(); + return rv; }