| 1845 | }; |
| 1846 | |
| 1847 | void |
| 1848 | Project::reset(bool aboutToQuit, bool blocking) |
| 1849 | { |
| 1850 | assert( QThread::currentThread() == qApp->thread() ); |
| 1851 | { |
| 1852 | QMutexLocker k(&_imp->projectClosingMutex); |
| 1853 | _imp->projectClosing = true; |
| 1854 | } |
| 1855 | |
| 1856 | if (!blocking) { |
| 1857 | boost::shared_ptr<ResetWatcherArgs> args( new ResetWatcherArgs() ); |
| 1858 | args->aboutToQuit = aboutToQuit; |
| 1859 | if ( !quitAnyProcessingForAllNodes(this, args) ) { |
| 1860 | doResetEnd(aboutToQuit); |
| 1861 | } |
| 1862 | } else { |
| 1863 | { |
| 1864 | NodesList nodesToWatch; |
| 1865 | getNodes_recursive(nodesToWatch, false); |
| 1866 | for (NodesList::const_iterator it = nodesToWatch.begin(); it != nodesToWatch.end(); ++it) { |
| 1867 | (*it)->quitAnyProcessing_blocking(false); |
| 1868 | } |
| 1869 | } |
| 1870 | doResetEnd(aboutToQuit); |
| 1871 | } |
| 1872 | } // Project::reset |
| 1873 | |
| 1874 | void |
| 1875 | Project::closeProject_blocking(bool aboutToQuit) |
nothing calls this directly
no test coverage detected