Index: ps/trunk/source/gui/CGUI.h =================================================================== --- ps/trunk/source/gui/CGUI.h +++ ps/trunk/source/gui/CGUI.h @@ -123,12 +123,6 @@ void DrawSprite(const CGUISpriteInstance& Sprite, int CellID, const float& Z, const CRect& Rect, const CRect& Clipping = CRect()); /** - * Clean up, call this to clean up all memory allocated - * within the GUI. - */ - void Destroy(); - - /** * The replacement of Process(), handles an SDL_Event_ * * @param ev SDL Event, like mouse/keyboard input Index: ps/trunk/source/gui/CGUI.cpp =================================================================== --- ps/trunk/source/gui/CGUI.cpp +++ ps/trunk/source/gui/CGUI.cpp @@ -296,7 +296,11 @@ CGUI::~CGUI() { - Destroy(); + for (const std::pair& p : m_pAllObjects) + delete p.second; + + for (const std::pair& p : m_Sprites) + delete p.second; } IGUIObject* CGUI::ConstructObject(const CStr& str) @@ -357,33 +361,6 @@ Sprite.Draw(*this, Rect, CellID, m_Sprites, Z); } -void CGUI::Destroy() -{ - // We can use the map to delete all - // now we don't want to cancel all if one Destroy fails - for (const std::pair& p : m_pAllObjects) - { - try - { - p.second->Destroy(); - } - catch (PSERROR_GUI& e) - { - UNUSED2(e); - debug_warn(L"CGUI::Destroy error"); - // TODO Gee: Handle - } - - delete p.second; - } - m_pAllObjects.clear(); - - for (const std::pair& p : m_Sprites) - delete p.second; - m_Sprites.clear(); - m_Icons.clear(); -} - void CGUI::UpdateResolution() { // Update ALL cached Index: ps/trunk/source/gui/IGUIObject.h =================================================================== --- ps/trunk/source/gui/IGUIObject.h +++ ps/trunk/source/gui/IGUIObject.h @@ -243,12 +243,6 @@ */ template void AddSetting(const CStr& Name); - /** - * Calls Destroy on all children, and deallocates all memory. - * MEGA TODO Should it destroy it's children? - */ - virtual void Destroy(); - public: /** * This function is called with different messages Index: ps/trunk/source/gui/IGUIObject.cpp =================================================================== --- ps/trunk/source/gui/IGUIObject.cpp +++ ps/trunk/source/gui/IGUIObject.cpp @@ -113,11 +113,6 @@ } } -void IGUIObject::Destroy() -{ - // Is there anything besides the children to destroy? -} - template void IGUIObject::AddSetting(const CStr& Name) {