diff options
Diffstat (limited to 'src/ivicore/qiviservicemanager.cpp')
-rw-r--r-- | src/ivicore/qiviservicemanager.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/ivicore/qiviservicemanager.cpp b/src/ivicore/qiviservicemanager.cpp index ea6f150..606c236 100644 --- a/src/ivicore/qiviservicemanager.cpp +++ b/src/ivicore/qiviservicemanager.cpp @@ -304,13 +304,15 @@ void QIviServiceManagerPrivate::addBackend(Backend *backend) const QString newBackendFile = backend->metaData.value(fileNameLiteral).toString(); const QString newBackendFileBase = qtivi_helper::backendBaseName(newBackendFile); - const QSet<QString> newInterfaces = backend->metaData.value(interfacesLiteral).toStringList().toSet(); + const QStringList ifaceList = backend->metaData.value(interfacesLiteral).toStringList(); + const QSet<QString> newInterfaces = QSet<QString>(ifaceList.begin(), ifaceList.end()); bool addBackend = true; if (!newBackendFile.isEmpty()) { for (int i = 0; i < m_backends.count(); i++) { Backend *b = m_backends[i]; - const QSet<QString> interfaces = b->metaData.value(interfacesLiteral).toStringList().toSet(); + const QStringList curIfaceList = backend->metaData.value(interfacesLiteral).toStringList(); + const QSet<QString> interfaces = QSet<QString>(curIfaceList.begin(), curIfaceList.end()); if (interfaces == newInterfaces && b->name == backend->name) { const QString fileName = b->metaData.value(fileNameLiteral).toString(); if (fileName == newBackendFile) { |