| 1395 | } |
| 1396 | |
| 1397 | void |
| 1398 | Node::quitAnyProcessing_non_blocking() |
| 1399 | { |
| 1400 | //If this effect has a RenderEngine, make sure it is finished |
| 1401 | OutputEffectInstance* isOutput = dynamic_cast<OutputEffectInstance*>( _imp->effect.get() ); |
| 1402 | |
| 1403 | if (isOutput) { |
| 1404 | isOutput->getRenderEngine()->quitEngine(true); |
| 1405 | } |
| 1406 | |
| 1407 | //Returns when the preview is done computign |
| 1408 | _imp->abortPreview_non_blocking(); |
| 1409 | |
| 1410 | TrackerContextPtr trackerContext = getTrackerContext(); |
| 1411 | if (trackerContext) { |
| 1412 | trackerContext->quitTrackerThread_non_blocking(); |
| 1413 | } |
| 1414 | |
| 1415 | if ( isRotoPaintingNode() ) { |
| 1416 | NodesList rotopaintNodes; |
| 1417 | getRotoContext()->getRotoPaintTreeNodes(&rotopaintNodes); |
| 1418 | for (NodesList::iterator it = rotopaintNodes.begin(); it != rotopaintNodes.end(); ++it) { |
| 1419 | (*it)->quitAnyProcessing_non_blocking(); |
| 1420 | } |
| 1421 | } |
| 1422 | } |
| 1423 | |
| 1424 | void |
| 1425 | Node::quitAnyProcessing_blocking(bool allowThreadsToRestart) |
no test coverage detected