| 5575 | } |
| 5576 | |
| 5577 | bool |
| 5578 | EffectInstance::refreshMetadata_recursive(std::list<Node*> & markedNodes) |
| 5579 | { |
| 5580 | NodePtr node = getNode(); |
| 5581 | std::list<Node*>::iterator found = std::find( markedNodes.begin(), markedNodes.end(), node.get() ); |
| 5582 | |
| 5583 | if ( found != markedNodes.end() ) { |
| 5584 | return false; |
| 5585 | } |
| 5586 | |
| 5587 | if (_imp->runningClipPreferences) { |
| 5588 | return false; |
| 5589 | } |
| 5590 | |
| 5591 | ClipPreferencesRunning_RAII runningflag_(this); |
| 5592 | bool ret = refreshMetadata_public(false); |
| 5593 | node->refreshIdentityState(); |
| 5594 | |
| 5595 | if ( !node->duringInputChangedAction() ) { |
| 5596 | ///The channels selector refreshing is already taken care of in the inputChanged action |
| 5597 | node->refreshChannelSelectors(); |
| 5598 | } |
| 5599 | |
| 5600 | markedNodes.push_back( node.get() ); |
| 5601 | |
| 5602 | NodesList outputs; |
| 5603 | node->getOutputsWithGroupRedirection(outputs); |
| 5604 | for (NodesList::const_iterator it = outputs.begin(); it != outputs.end(); ++it) { |
| 5605 | (*it)->getEffectInstance()->refreshMetadata_recursive(markedNodes); |
| 5606 | } |
| 5607 | |
| 5608 | return ret; |
| 5609 | } |
| 5610 | |
| 5611 | void |
| 5612 | EffectInstance::setDefaultMetadata() |
nothing calls this directly
no test coverage detected