void Container::HandleChildInvalidate( const Widget::PtrConst& child ) const { Container::PtrConst parent = GetParent(); if( parent ) { parent->HandleChildInvalidate( child ); } }
void Widget::Invalidate() const { if( m_invalidated ) { return; } m_invalidated = true; Container::PtrConst parent = m_parent.lock(); if( parent ) { parent->HandleChildInvalidate( static_cast<Widget::PtrConst>( shared_from_this() ) ); } }