forked from mirror/openmw-tes3mp
Fix some memory leaks
This commit is contained in:
parent
c796589420
commit
3cc32b641a
5 changed files with 20 additions and 11 deletions
|
@ -47,13 +47,13 @@ void ProfilesComboBox::setEditEnabled(bool editable)
|
|||
|
||||
void ProfilesComboBox::slotTextChanged(const QString &text)
|
||||
{
|
||||
QPalette *palette = new QPalette();
|
||||
palette->setColor(QPalette::Text,Qt::red);
|
||||
QPalette palette;
|
||||
palette.setColor(QPalette::Text,Qt::red);
|
||||
|
||||
int index = findText(text);
|
||||
|
||||
if (text.isEmpty() || (index != -1 && index != currentIndex())) {
|
||||
lineEdit()->setPalette(*palette);
|
||||
lineEdit()->setPalette(palette);
|
||||
} else {
|
||||
lineEdit()->setPalette(QApplication::palette());
|
||||
}
|
||||
|
|
|
@ -59,13 +59,13 @@ void Launcher::TextInputDialog::setOkButtonEnabled(bool enabled)
|
|||
QPushButton *okButton = mButtonBox->button(QDialogButtonBox::Ok);
|
||||
okButton->setEnabled(enabled);
|
||||
|
||||
QPalette *palette = new QPalette();
|
||||
palette->setColor(QPalette::Text, Qt::red);
|
||||
QPalette palette;
|
||||
palette.setColor(QPalette::Text, Qt::red);
|
||||
|
||||
if (enabled) {
|
||||
mLineEdit->setPalette(QApplication::palette());
|
||||
} else {
|
||||
// Existing profile name, make the text red
|
||||
mLineEdit->setPalette(*palette);
|
||||
mLineEdit->setPalette(palette);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,6 +21,12 @@ ContentSelectorModel::ContentModel::ContentModel(QObject *parent) :
|
|||
uncheckAll();
|
||||
}
|
||||
|
||||
ContentSelectorModel::ContentModel::~ContentModel()
|
||||
{
|
||||
qDeleteAll(mFiles);
|
||||
mFiles.clear();
|
||||
}
|
||||
|
||||
void ContentSelectorModel::ContentModel::setEncoding(const QString &encoding)
|
||||
{
|
||||
mEncoding = encoding;
|
||||
|
@ -444,7 +450,9 @@ void ContentSelectorModel::ContentModel::addFiles(const QString &path)
|
|||
foreach (const QString &path, dir.entryList())
|
||||
{
|
||||
QFileInfo info(dir.absoluteFilePath(path));
|
||||
EsmFile *file = new EsmFile(path);
|
||||
|
||||
if (item(info.absoluteFilePath()) != 0)
|
||||
continue;
|
||||
|
||||
try {
|
||||
ESM::ESMReader fileReader;
|
||||
|
@ -453,6 +461,8 @@ void ContentSelectorModel::ContentModel::addFiles(const QString &path)
|
|||
fileReader.setEncoder(&encoder);
|
||||
fileReader.open(dir.absoluteFilePath(path).toStdString());
|
||||
|
||||
EsmFile *file = new EsmFile(path);
|
||||
|
||||
foreach (const ESM::Header::MasterData &item, fileReader.getGameFiles())
|
||||
file->addGameFile(QString::fromStdString(item.name));
|
||||
|
||||
|
@ -462,10 +472,8 @@ void ContentSelectorModel::ContentModel::addFiles(const QString &path)
|
|||
file->setFilePath (info.absoluteFilePath());
|
||||
file->setDescription(decoder->toUnicode(fileReader.getDesc().c_str()));
|
||||
|
||||
|
||||
// Put the file in the table
|
||||
if (item(file->filePath()) == 0)
|
||||
addFile(file);
|
||||
addFile(file);
|
||||
|
||||
} catch(std::runtime_error &e) {
|
||||
// An error occurred while reading the .esp
|
||||
|
|
|
@ -21,6 +21,7 @@ namespace ContentSelectorModel
|
|||
Q_OBJECT
|
||||
public:
|
||||
explicit ContentModel(QObject *parent = 0);
|
||||
~ContentModel();
|
||||
|
||||
void setEncoding(const QString &encoding);
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ ContentSelectorView::ContentSelector::ContentSelector(QWidget *parent) :
|
|||
|
||||
void ContentSelectorView::ContentSelector::buildContentModel()
|
||||
{
|
||||
mContentModel = new ContentSelectorModel::ContentModel();
|
||||
mContentModel = new ContentSelectorModel::ContentModel(this);
|
||||
}
|
||||
|
||||
void ContentSelectorView::ContentSelector::buildGameFileView()
|
||||
|
|
Loading…
Reference in a new issue