From a9fb7197554e9fba70440efb3ba6aeb70dc96245 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 2 Apr 2020 16:40:28 +0300 Subject: [PATCH] QmlDesigner: Skip duplicate assets imported simultaneously Since asset folder is generated from the asset filename without suffix, it is possible to select multiple assets with same filename but different suffix into the import, and they would import into the same asset directory, causing confusion and potentially broken import. Fixed by skipping duplicate assets within the same import. Change-Id: Ied825f32309b4321de7fa471cbd5ff1041e03072 Fixes: QDS-1239 Reviewed-by: Mahmoud Badri --- .../components/itemlibrary/itemlibraryassetimporter.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimporter.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimporter.cpp index 37f3acd4aa4..ee290d01f39 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimporter.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryassetimporter.cpp @@ -275,6 +275,11 @@ void ItemLibraryAssetImporter::parseQuick3DAsset(const QString &file, const QVar QString targetDirPath = targetDir.filePath(assetName); + if (outDir.exists(assetName)) { + addWarning(tr("Skipped import of duplicate asset: \"%1\"").arg(assetName)); + return; + } + if (targetDir.exists(assetName)) { if (!confirmAssetOverwrite(assetName)) { addWarning(tr("Skipped import of existing asset: \"%1\"").arg(assetName));