diff options
author | Marcel Krems <m.krems@software-vision.eu> | 2018-02-21 19:19:36 +0100 |
---|---|---|
committer | Marcel Krems <m.krems@software-vision.eu> | 2018-03-21 13:50:43 +0000 |
commit | 5f66486cc254e1483f776d3058f96db493fd26e5 (patch) | |
tree | 69808d56d4773c768e82c39b4a88151d206ba7de /src/plugins | |
parent | 992f673782ac7b8edea0dc7b4498eb7f970b4ba8 (diff) |
Fix crash when deleting a QSqlQueryModel after closing the database
Task-number: QTBUG-66553
Change-Id: Ib5c04ebe5ac2b7581613e0044804072eb0980b2e
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/sqldrivers/psql/qsql_psql.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/plugins/sqldrivers/psql/qsql_psql.cpp b/src/plugins/sqldrivers/psql/qsql_psql.cpp index b4eb69e6cf..5e0f7626b4 100644 --- a/src/plugins/sqldrivers/psql/qsql_psql.cpp +++ b/src/plugins/sqldrivers/psql/qsql_psql.cpp @@ -462,8 +462,10 @@ void QPSQLResult::cleanup() d->result = nullptr; while (!d->nextResultSets.isEmpty()) PQclear(d->nextResultSets.takeFirst()); - if (d->stmtId != InvalidStatementId) - d->drv_d_func()->finishQuery(d->stmtId); + if (d->stmtId != InvalidStatementId) { + if (d->drv_d_func()) + d->drv_d_func()->finishQuery(d->stmtId); + } d->stmtId = InvalidStatementId; setAt(QSql::BeforeFirstRow); d->currentSize = -1; |