Astrognome
23rd March 2012, 21:08
I call this code on the startup of the application, but if I call it again, it crashes without any errors.
void MCM::repopWList()
{
QDir mcDir = QDir(McFolder);
QDir backupsDir = QDir(McFolder);
mcDir.cd("saves");
backupsDir.cd("MCM/backups");
mcDir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot);
backupsDir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot);
ui->worldList->clear();
//list the worlds
QFileInfoList mcDirList = mcDir.entryInfoList();
for (int i = 0; i < mcDirList.size(); i++) {
QFileInfo fileInfo = mcDirList.at(i);
ui->worldList->addItem(fileInfo.fileName());
}
QFileInfoList backupsDirList = backupsDir.entryInfoList();
for (int i = 0; i < backupsDirList.size(); i++)
{
bool wExist = false;
QFileInfo backupInfo = backupsDirList.at(i);
for (int j = 0; j < ui->worldList->count(); j++)
{
string itemText = ui->worldList->item(j)->text().toStdString();
if (itemText == backupInfo.fileName().toStdString())
{
wExist = true;
}
}
if (wExist == false)
{
QString newWorld(backupInfo.fileName());
ui->worldList->addItem(newWorld);
}
}
}
void MCM::repopWList()
{
QDir mcDir = QDir(McFolder);
QDir backupsDir = QDir(McFolder);
mcDir.cd("saves");
backupsDir.cd("MCM/backups");
mcDir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot);
backupsDir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot);
ui->worldList->clear();
//list the worlds
QFileInfoList mcDirList = mcDir.entryInfoList();
for (int i = 0; i < mcDirList.size(); i++) {
QFileInfo fileInfo = mcDirList.at(i);
ui->worldList->addItem(fileInfo.fileName());
}
QFileInfoList backupsDirList = backupsDir.entryInfoList();
for (int i = 0; i < backupsDirList.size(); i++)
{
bool wExist = false;
QFileInfo backupInfo = backupsDirList.at(i);
for (int j = 0; j < ui->worldList->count(); j++)
{
string itemText = ui->worldList->item(j)->text().toStdString();
if (itemText == backupInfo.fileName().toStdString())
{
wExist = true;
}
}
if (wExist == false)
{
QString newWorld(backupInfo.fileName());
ui->worldList->addItem(newWorld);
}
}
}