-// -------------------------------------------------------------------------
-void cpPlugins::Interface::ProcessObject::
-SetMPRViewer( cpPlugins::Interface::SimpleMPRWidget* wdg )
-{
- this->m_MPRViewer = wdg;
-}
+ // Force upstream updates
+ auto i = this->m_Inputs.begin( );
+ bool need_to_update = false;
+ for( ; i != this->m_Inputs.end( ) && r == ""; ++i )
+ {
+ bool iv = i->second.IsValid( );
+ bool ir = i->second.IsRequired( );
+ if( !iv && ir )
+ r =
+ "ProcessObject: Required input \"" +
+ i->first + "@" + this->GetClassName( ) +
+ "\" is not valid (=NULL).";
+ if( iv && r == "" )
+ {
+ Self* src = dynamic_cast< Self* >( i->second->GetSource( ) );
+ if( src != NULL )
+ {
+ need_to_update |= ( this->m_LastExecutionTime < src->GetMTime( ) );
+ r = src->Update( );