Fix save buttons and probably other things not being cleaned up in FileBrowserActivity (fixed #635)
This commit is contained in:
parent
c7ae820f1c
commit
89c7d9ea02
@ -191,6 +191,21 @@ void FileBrowserActivity::RenameSave(SaveFile * file)
|
|||||||
ErrorMessage::Blocking("Error", "No save name given");
|
ErrorMessage::Blocking("Error", "No save name given");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FileBrowserActivity::cleanup()
|
||||||
|
{
|
||||||
|
for (auto comp : componentsQueue)
|
||||||
|
{
|
||||||
|
delete comp;
|
||||||
|
}
|
||||||
|
componentsQueue.clear();
|
||||||
|
|
||||||
|
for (auto file : files)
|
||||||
|
{
|
||||||
|
delete file;
|
||||||
|
}
|
||||||
|
files.clear();
|
||||||
|
}
|
||||||
|
|
||||||
void FileBrowserActivity::loadDirectory(ByteString directory, ByteString search)
|
void FileBrowserActivity::loadDirectory(ByteString directory, ByteString search)
|
||||||
{
|
{
|
||||||
for (size_t i = 0; i < components.size(); i++)
|
for (size_t i = 0; i < components.size(); i++)
|
||||||
@ -199,17 +214,7 @@ void FileBrowserActivity::loadDirectory(ByteString directory, ByteString search)
|
|||||||
itemList->RemoveChild(components[i]);
|
itemList->RemoveChild(components[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (std::vector<ui::Component*>::iterator iter = componentsQueue.begin(), end = componentsQueue.end(); iter != end; ++iter)
|
cleanup();
|
||||||
{
|
|
||||||
delete *iter;
|
|
||||||
}
|
|
||||||
componentsQueue.clear();
|
|
||||||
|
|
||||||
for (std::vector<SaveFile*>::iterator iter = files.begin(), end = files.end(); iter != end; ++iter)
|
|
||||||
{
|
|
||||||
delete *iter;
|
|
||||||
}
|
|
||||||
files.clear();
|
|
||||||
|
|
||||||
infoText->Visible = false;
|
infoText->Visible = false;
|
||||||
itemList->Visible = false;
|
itemList->Visible = false;
|
||||||
@ -325,4 +330,5 @@ void FileBrowserActivity::OnDraw()
|
|||||||
FileBrowserActivity::~FileBrowserActivity()
|
FileBrowserActivity::~FileBrowserActivity()
|
||||||
{
|
{
|
||||||
delete callback;
|
delete callback;
|
||||||
|
cleanup();
|
||||||
}
|
}
|
||||||
|
@ -45,6 +45,7 @@ class FileBrowserActivity: public TaskListener, public WindowActivity
|
|||||||
|
|
||||||
class SearchAction;
|
class SearchAction;
|
||||||
void populateList();
|
void populateList();
|
||||||
|
void cleanup();
|
||||||
public:
|
public:
|
||||||
FileBrowserActivity(ByteString directory, FileSelectedCallback * callback);
|
FileBrowserActivity(ByteString directory, FileSelectedCallback * callback);
|
||||||
void OnDraw() override;
|
void OnDraw() override;
|
||||||
|
Reference in New Issue
Block a user