TableSetBase release Table when going to delete [skip ci]
This commit is contained in:
parent
ac2fa1a4ae
commit
f555515e5e
|
|
@ -144,7 +144,9 @@ void Table::setParentTableSet(TableSetBase *parent)
|
||||||
{
|
{
|
||||||
Q_D(Table);
|
Q_D(Table);
|
||||||
d->parentTableSet = parent;
|
d->parentTableSet = parent;
|
||||||
d->parentTableSet->add(this);
|
|
||||||
|
if (parent)
|
||||||
|
d->parentTableSet->add(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
TableSetBase *Table::childTableSet(const QString &name) const
|
TableSetBase *Table::childTableSet(const QString &name) const
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,12 @@ TableSetBase::TableSetBase(Table *parent) : QObject(parent),
|
||||||
parent->add(this);
|
parent->add(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TableSetBase::~TableSetBase()
|
||||||
|
{
|
||||||
|
foreach (Table *t, _tables)
|
||||||
|
t->setParentTableSet(nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
int TableSetBase::save(Database *db, bool cleanUp)
|
int TableSetBase::save(Database *db, bool cleanUp)
|
||||||
{
|
{
|
||||||
int rowsAffected = 0;
|
int rowsAffected = 0;
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@ class TableSetBase : public QObject
|
||||||
public:
|
public:
|
||||||
explicit TableSetBase(Database *parent);
|
explicit TableSetBase(Database *parent);
|
||||||
explicit TableSetBase(Table *parent);
|
explicit TableSetBase(Table *parent);
|
||||||
|
virtual ~TableSetBase();
|
||||||
|
|
||||||
virtual int save(Database *db, bool cleanUp = false);
|
virtual int save(Database *db, bool cleanUp = false);
|
||||||
void clearChilds();
|
void clearChilds();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue