1
0
forked from 0ad/0ad

Delete empty IGUIObject::Destroy function and MEGA TODO from 5122b0f906, e21ebb37f5.

None of the GUI object types implemented in the past two decades owns
children, only the CGUI page.

Differential Revision: https://code.wildfiregames.com/D2311
Tested on: clang 8.0.1, Jenkins

This was SVN commit r22943.
This commit is contained in:
elexis 2019-09-20 15:25:13 +00:00
parent d90dffab1f
commit e05f939fab
4 changed files with 5 additions and 45 deletions

View File

@ -296,7 +296,11 @@ CGUI::CGUI(const shared_ptr<ScriptRuntime>& runtime)
CGUI::~CGUI()
{
Destroy();
for (const std::pair<CStr, IGUIObject*>& p : m_pAllObjects)
delete p.second;
for (const std::pair<CStr, const CGUISprite*>& p : m_Sprites)
delete p.second;
}
IGUIObject* CGUI::ConstructObject(const CStr& str)
@ -357,33 +361,6 @@ void CGUI::DrawSprite(const CGUISpriteInstance& Sprite, int CellID, const float&
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<CStr, IGUIObject*>& 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<CStr, const CGUISprite*>& p : m_Sprites)
delete p.second;
m_Sprites.clear();
m_Icons.clear();
}
void CGUI::UpdateResolution()
{
// Update ALL cached

View File

@ -122,12 +122,6 @@ public:
*/
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_
*

View File

@ -113,11 +113,6 @@ void IGUIObject::AddToPointersMap(map_pObjects& ObjectMap)
}
}
void IGUIObject::Destroy()
{
// Is there anything besides the children to destroy?
}
template<typename T>
void IGUIObject::AddSetting(const CStr& Name)
{

View File

@ -243,12 +243,6 @@ protected:
*/
template<typename T> 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