summaryrefslogtreecommitdiffstats
path: root/src/plugins/sqldrivers/psql/qsql_psql.cpp
diff options
context:
space:
mode:
authorMarcel Krems <m.krems@software-vision.eu>2018-02-21 19:19:36 +0100
committerMarcel Krems <m.krems@software-vision.eu>2018-03-21 13:50:43 +0000
commit5f66486cc254e1483f776d3058f96db493fd26e5 (patch)
tree69808d56d4773c768e82c39b4a88151d206ba7de /src/plugins/sqldrivers/psql/qsql_psql.cpp
parent992f673782ac7b8edea0dc7b4498eb7f970b4ba8 (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/sqldrivers/psql/qsql_psql.cpp')
-rw-r--r--src/plugins/sqldrivers/psql/qsql_psql.cpp6
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;