diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2019-12-02 15:27:43 +0100 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2019-12-16 13:28:37 +0100 |
commit | 542d14bd02df770198f962b9d879aef94aa8dd32 (patch) | |
tree | 8bbf11a1bfe87d2b6e807b597a485cc3d0d7aed4 /qmake | |
parent | 868ded6d87ca4e05482d2ae6955ddfbe0fb85ff0 (diff) |
Fix "Broken filename passed to function" message for qmake -tp vc
Since commit 9ab043b6 we're checking for invalid file paths passed to
Qt's file system engine. When initializing the deployment tool for VS
projects we accidentally passed a file path containing '\0'. Fix that by
using an infix QString, not QChar.
Change-Id: Ieae066d20ac290354febd420abce68f28649b365
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Diffstat (limited to 'qmake')
-rw-r--r-- | qmake/generators/win32/msvc_vcproj.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp index 404088aa4a..867b14faea 100644 --- a/qmake/generators/win32/msvc_vcproj.cpp +++ b/qmake/generators/win32/msvc_vcproj.cpp @@ -1247,10 +1247,10 @@ void VcprojGenerator::initDeploymentTool() + "|" + targetPath + "|0;"; if (!qpaPluginDeployed) { - QChar debugInfixChar; + QString debugInfix; bool foundGuid = dllName.contains(QLatin1String("Guid")); if (foundGuid) - debugInfixChar = QLatin1Char('d'); + debugInfix = QLatin1Char('d'); if (foundGuid || dllName.contains(QLatin1String("Gui"))) { QFileInfo info2; @@ -1258,13 +1258,14 @@ void VcprojGenerator::initDeploymentTool() QString absoluteDllFilePath = dllPath.toQString(); if (!absoluteDllFilePath.endsWith(QLatin1Char('/'))) absoluteDllFilePath += QLatin1Char('/'); - absoluteDllFilePath += QLatin1String("../plugins/platforms/qwindows") + debugInfixChar + QLatin1String(".dll"); + absoluteDllFilePath += QLatin1String("../plugins/platforms/qwindows") + + debugInfix + QLatin1String(".dll"); info2 = QFileInfo(absoluteDllFilePath); if (info2.exists()) break; } if (info2.exists()) { - conf.deployment.AdditionalFiles += QLatin1String("qwindows") + debugInfixChar + QLatin1String(".dll") + conf.deployment.AdditionalFiles += QLatin1String("qwindows") + debugInfix + QLatin1String(".dll") + QLatin1Char('|') + QDir::toNativeSeparators(info2.absolutePath()) + QLatin1Char('|') + targetPath + QLatin1String("\\platforms") + QLatin1String("|0;"); |