summaryrefslogtreecommitdiffstats
path: root/src/libs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs')
-rw-r--r--src/libs/installer/binaryformatengine.cpp2
-rw-r--r--src/libs/installer/binaryformatenginehandler.cpp2
2 files changed, 4 insertions, 0 deletions
diff --git a/src/libs/installer/binaryformatengine.cpp b/src/libs/installer/binaryformatengine.cpp
index 9513d83c3..d493018ea 100644
--- a/src/libs/installer/binaryformatengine.cpp
+++ b/src/libs/installer/binaryformatengine.cpp
@@ -105,6 +105,7 @@ void BinaryFormatEngine::setFileName(const QString &file)
path.chop(1);
m_collection = m_collections.value(path.section(sep, 0, 0).toUtf8());
+ m_collection.setName(path.section(sep, 0, 0).toUtf8());
m_resource = m_collection.resourceByName(path.section(sep, 1, 1).toUtf8());
}
@@ -254,6 +255,7 @@ QStringList BinaryFormatEngine::entryList(QDir::Filters filters, const QStringLi
foreach (const ResourceCollection &collection, m_collections)
result.append(QString::fromUtf8(collection.name()));
}
+ result.removeAll(QString()); // Remove empty names, will crash while using directory iterator.
if (filterNames.isEmpty())
return result;
diff --git a/src/libs/installer/binaryformatenginehandler.cpp b/src/libs/installer/binaryformatenginehandler.cpp
index 8df9249bc..3388c5800 100644
--- a/src/libs/installer/binaryformatenginehandler.cpp
+++ b/src/libs/installer/binaryformatenginehandler.cpp
@@ -83,6 +83,8 @@ BinaryFormatEngineHandler::registerResource(const QString &fileName, const QStri
const QByteArray resourceName = path.section(sep, 1, 1).toUtf8();
const QByteArray collectionName = path.section(sep, 0, 0).toUtf8();
+
+ m_resources[collectionName].setName(collectionName);
m_resources[collectionName].appendResource(QSharedPointer<Resource>(new Resource(resourceName,
resourcePath)));
}