| 1564 | } |
| 1565 | |
| 1566 | void |
| 1567 | Node::endInputEdition(bool triggerRender) |
| 1568 | { |
| 1569 | assert( QThread::currentThread() == qApp->thread() ); |
| 1570 | if (_imp->inputModifiedRecursion > 0) { |
| 1571 | --_imp->inputModifiedRecursion; |
| 1572 | } |
| 1573 | |
| 1574 | if (!_imp->inputModifiedRecursion) { |
| 1575 | bool hasChanged = !_imp->inputsModified.empty(); |
| 1576 | _imp->inputsModified.clear(); |
| 1577 | |
| 1578 | if (hasChanged) { |
| 1579 | if ( !getApp()->isCreatingNodeTree() ) { |
| 1580 | forceRefreshAllInputRelatedData(); |
| 1581 | } |
| 1582 | refreshDynamicProperties(); |
| 1583 | } |
| 1584 | |
| 1585 | triggerRender = triggerRender && hasChanged; |
| 1586 | |
| 1587 | if (triggerRender) { |
| 1588 | std::list<ViewerInstance* > viewers; |
| 1589 | hasViewersConnected(&viewers); |
| 1590 | for (std::list<ViewerInstance* >::iterator it2 = viewers.begin(); it2 != viewers.end(); ++it2) { |
| 1591 | (*it2)->renderCurrentFrame(true); |
| 1592 | } |
| 1593 | } |
| 1594 | } |
| 1595 | } |
| 1596 | |
| 1597 | void |
| 1598 | Node::onInputChanged(int inputNb, |
no test coverage detected