aboutsummaryrefslogtreecommitdiffstats
path: root/src/ivicore/qiviservicemanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ivicore/qiviservicemanager.cpp')
-rw-r--r--src/ivicore/qiviservicemanager.cpp6
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) {