summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/assistant/help/qhelpdbreader.cpp18
-rw-r--r--src/assistant/help/qhelpdbreader_p.h1
2 files changed, 14 insertions, 5 deletions
diff --git a/src/assistant/help/qhelpdbreader.cpp b/src/assistant/help/qhelpdbreader.cpp
index 3b364dfb1..6574ac90e 100644
--- a/src/assistant/help/qhelpdbreader.cpp
+++ b/src/assistant/help/qhelpdbreader.cpp
@@ -79,6 +79,19 @@ bool QHelpDBReader::init()
if (!QFile::exists(m_dbName))
return false;
+ if (!initDB()) {
+ QSqlDatabase::removeDatabase(m_uniqueId);
+ return false;
+ }
+
+ m_initDone = true;
+ m_query = new QSqlQuery(QSqlDatabase::database(m_uniqueId));
+
+ return true;
+}
+
+bool QHelpDBReader::initDB()
+{
QSqlDatabase db = QSqlDatabase::addDatabase(QLatin1String("QSQLITE"), m_uniqueId);
db.setConnectOptions(QLatin1String("QSQLITE_OPEN_READONLY"));
db.setDatabaseName(m_dbName);
@@ -87,13 +100,8 @@ bool QHelpDBReader::init()
%2 - The unique id for the connection
%3 - The actual error string */
m_error = tr("Cannot open database '%1' '%2': %3").arg(m_dbName, m_uniqueId, db.lastError().text());
- QSqlDatabase::removeDatabase(m_uniqueId);
return false;
}
-
- m_initDone = true;
- m_query = new QSqlQuery(db);
-
return true;
}
diff --git a/src/assistant/help/qhelpdbreader_p.h b/src/assistant/help/qhelpdbreader_p.h
index 48005d35e..aca4c8afa 100644
--- a/src/assistant/help/qhelpdbreader_p.h
+++ b/src/assistant/help/qhelpdbreader_p.h
@@ -108,6 +108,7 @@ private:
const QString &relFileName, const QString &anchor) const;
QString mergeList(const QStringList &list) const;
QString quote(const QString &string) const;
+ bool initDB();
bool m_initDone = false;
QString m_dbName;