void WindowManager::cleanDeadPool(void) { WindowVector::reverse_iterator curr = d_deathrow.rbegin(); for (; curr != d_deathrow.rend(); ++curr) { // in debug mode, log what gets cleaned from the dead pool (insane level) #if defined(DEBUG) || defined (_DEBUG) CEGUI_LOGINSANE("Window '" + (*curr)->getName() + "' about to be finally destroyed from dead pool."); #endif WindowFactory* factory = WindowFactoryManager::getSingleton().getFactory((*curr)->getType()); factory->destroyWindow(*curr); } // all done here, so clear all pointers from dead pool d_deathrow.clear(); }