void View::DetachedFromWindow() { // remove view from local token space if (fWindow != NULL && fWindow->ServerWindow()->App() != NULL) fWindow->ServerWindow()->App()->ViewTokens().RemoveToken(fToken); fWindow = NULL; // detach child views as well for (View* child = FirstChild(); child; child = child->NextSibling()) child->DetachedFromWindow(); }
void View::DetachedFromWindow() { lock(); for ( int i = 0; i < CountChildren(); i++ ) { View *view = ChildAt(i); if ( (view->getFlags() & PULSE_NEEDED) != 0 ) if ( view->_window != NULL ) view->_window->RemovePulseChild( view ); view->_window = NULL; view->DetachedFromWindow(); } unlock(); }