Fix a couple of memory leaks

This commit is contained in:
Martin Kleusberg
2016-10-08 23:50:30 +02:00
parent 2a097a639a
commit 7b86b17788
3 changed files with 8 additions and 4 deletions

View File

@@ -124,10 +124,10 @@ void DbStructureModel::reloadData()
beginResetModel();
// Remove all data except for the root item
while(rootItem->childCount())
for(int i=rootItem->childCount();i;i--)
{
delete rootItem->child(0);
rootItem->removeChild(rootItem->child(0));
delete rootItem->child(i-1);
rootItem->removeChild(rootItem->child(i-1));
}
// Return here if no DB is opened

View File

@@ -624,6 +624,7 @@ bool DBBrowserDB::executeSQL(QString statement, bool dirtyDB, bool logsql)
} else {
lastErrorMessage = QString("%1 (%2)").arg(QString::fromUtf8(errmsg)).arg(statement);
qWarning() << "executeSQL: " << statement << "->" << errmsg;
sqlite3_free(errmsg);
return false;
}
}

View File

@@ -569,9 +569,12 @@ Table CreateTableWalker::table()
} while(tc != antlr::nullAST && tc->getType() != sqlite3TokenTypes::RPAREN);
if(fields.size() == 1 && constraint_name.isEmpty())
{
fields[0]->setUnique(true);
else
delete unique;
} else {
tab.addConstraint(fields, ConstraintPtr(unique));
}
}
break;
case sqlite3TokenTypes::FOREIGN: