diff --git a/src/windeployqt/main.cpp b/src/windeployqt/main.cpp index 2f1da1449f672919d9b944cd6369a4a9ecffd00f..c178a2078a84ac044cff440e70783558f1cb099f 100644 --- a/src/windeployqt/main.cpp +++ b/src/windeployqt/main.cpp @@ -582,9 +582,13 @@ static inline QString helpText(const QCommandLineParser &p) static inline bool isQtModule(const QString &libName) { - return libName.startsWith(QLatin1String("Qt"), Qt::CaseInsensitive) // Standard modules, Qt5XX.dll, Qt[Commercial]Charts.dll - || libName.startsWith(QLatin1String("DataVisualization"), Qt::CaseInsensitive) - || libName.startsWith(QLatin1String("Enginio"), Qt::CaseInsensitive); + // Match Standard modules, Qt5XX.dll, Qt[Commercial]Charts.dll and special cases. + return libName.size() > 2 + && ((libName.startsWith(QLatin1String("Qt"), Qt::CaseInsensitive) && libName.at(2).isDigit()) + || libName.startsWith(QLatin1String("QtCommercial"), Qt::CaseInsensitive) + || libName.startsWith(QLatin1String("QtCharts"), Qt::CaseInsensitive) + || libName.startsWith(QLatin1String("DataVisualization"), Qt::CaseInsensitive) + || libName.startsWith(QLatin1String("Enginio"), Qt::CaseInsensitive)); } // Helper for recursively finding all dependent Qt libraries.