Remove stale entries in assistant db blocking qch file registering

registerDocumentation failed if a namespace/qch file had been registered
before, but the qch file is not accessible any more. This prevented
the registration of the same namespace/qch file at a different location.

Fix this by explicitly removing entries that have no valid qch file any
more from the db.

Reviewed-by: con
This commit is contained in:
Kai Koehne
2010-01-12 13:34:44 +01:00
parent 45f8895e93
commit f0c9caf97c

View File

@@ -105,12 +105,23 @@ void HelpManager::registerDocumentation(const QStringList &fileNames)
if (!QFileInfo(fileName).exists())
continue;
const QString &nameSpace = QHelpEngineCore::namespaceName(fileName);
if (!nameSpace.isEmpty()
&& !hc.registeredDocumentations().contains(nameSpace)) {
if (hc.registerDocumentation(fileName))
if (!nameSpace.isEmpty()) {
if (hc.registeredDocumentations().contains(nameSpace)) {
if (!QFileInfo(hc.documentationFileName(nameSpace)).exists()) {
// remove stale documentation path first
if (!hc.unregisterDocumentation(fileName)) {
qWarning() << "error unregistering " << fileName << hc.error();
continue;
}
} else {
continue;
}
}
if (hc.registerDocumentation(fileName)) {
needsSetup = true;
else
qDebug() << "error registering" << fileName << hc.error();
} else {
qWarning() << "error registering" << fileName << hc.error();
}
}
}
}