diff options
-rw-r--r-- | src/assistant/help/qhelpdbreader.cpp | 18 | ||||
-rw-r--r-- | src/assistant/help/qhelpdbreader_p.h | 1 |
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; |