MCPcopy Create free account
hub / github.com/NatronGitHub/Natron / quitAnyProcessingForAllNodes

Method quitAnyProcessingForAllNodes

Engine/Project.cpp:2086–2105  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2084} // Project::doResetEnd
2085
2086bool
2087Project::quitAnyProcessingForAllNodes(AfterQuitProcessingI* receiver,
2088 const GenericWatcherCallerArgsPtr& args)
2089{
2090 NodesList nodesToWatch;
2091
2092 getNodes_recursive(nodesToWatch, false);
2093 if ( nodesToWatch.empty() ) {
2094 return false;
2095 }
2096 NodeRenderWatcherPtr renderWatcher = std::make_shared<NodeRenderWatcher>(nodesToWatch);
2097 QObject::connect(renderWatcher.get(), SIGNAL(taskFinished(int,GenericWatcherCallerArgsPtr)), this, SLOT(onQuitAnyProcessingWatcherTaskFinished(int,GenericWatcherCallerArgsPtr)), Qt::UniqueConnection);
2098 ProjectPrivate::RenderWatcher p;
2099 p.receiver = receiver;
2100 p.watcher = renderWatcher;
2101 _imp->renderWatchers.push_back(p);
2102 renderWatcher->scheduleBlockingTask(NodeRenderWatcher::eBlockingTaskQuitAnyProcessing, args);
2103
2104 return true;
2105}
2106
2107void
2108Project::onQuitAnyProcessingWatcherTaskFinished(int taskID,

Callers 1

quitMethod · 0.80

Calls 4

emptyMethod · 0.80
scheduleBlockingTaskMethod · 0.80
getMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected