summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@nokia.com>2012-04-10 18:46:06 +0200
committerQt by Nokia <qt-info@nokia.com>2012-04-12 04:15:05 +0200
commit99a207436924aa1339f48ababa1490675c6a00d3 (patch)
treefeaca96318e80dd6e118af50111d35a7f6fd6694 /qmake
parent6b54a04bc612a71132c58f28b9a7edf6e896c42b (diff)
qmake vc(x)project generator: fix VC++ Express detection
If VC++ 2010 Express and VC# 2010 Express are installed, then the installation path is written in two places into the registry. We're now filtering detected installations with the same installation path. Task-number: QTBUG-24956 Change-Id: I401430e7aa81d96c523d8172d2a2e9d40ebdb3ce Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Diffstat (limited to 'qmake')
-rw-r--r--qmake/generators/win32/msvc_vcproj.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp
index 2f19ea4495..c2482b58a8 100644
--- a/qmake/generators/win32/msvc_vcproj.cpp
+++ b/qmake/generators/win32/msvc_vcproj.cpp
@@ -115,11 +115,13 @@ DotNET which_dotnet_version()
current_version = NET2002;
QStringList warnPath;
+ QHash<DotNET, QString> installPaths;
int installed = 0;
int i = 0;
for(; dotNetCombo[i].version; ++i) {
QString path = qt_readRegistryKey(HKEY_LOCAL_MACHINE, dotNetCombo[i].regKey);
- if(!path.isEmpty()) {
+ if (!path.isEmpty() && installPaths.value(dotNetCombo[i].version) != path) {
+ installPaths.insert(dotNetCombo[i].version, path);
++installed;
current_version = dotNetCombo[i].version;
warnPath += QString("%1").arg(dotNetCombo[i].versionStr);