qmake: fix manifest embedding for DLLs
authorJoerg Bornemann <joerg.bornemann@digia.com>
Tue, 11 Dec 2012 10:31:41 +0000 (11:31 +0100)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Tue, 11 Dec 2012 17:34:19 +0000 (18:34 +0100)
Manifests must be embedded into DLLs with the resource id 2, not 1.
This fixes a regression introduced in commit c9406bcf.

Task-number: QTBUG-28524

Change-Id: I93b1dfe4614d0535f47fd881b8688a23e83e845f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Ismo Haataja <ismo.haataja@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
qmake/generators/win32/msvc_nmake.cpp

index 3fed7b4..6a1d6d1 100644 (file)
@@ -441,7 +441,9 @@ void NmakeMakefileGenerator::writeBuildRulesPart(QTextStream &t)
                 // directly embed the manifest in the executable after linking
                 t << "\n\t";
                 writeLinkCommand(t, extraLFlags);
-                t << "\n\t" << "mt.exe /nologo /manifest " << manifest << " /outputresource:$(DESTDIR_TARGET);1";
+                const QString resourceId = (templateName == "app") ? "1" : "2";
+                t << "\n\t" << "mt.exe /nologo /manifest " << manifest
+                  << " /outputresource:$(DESTDIR_TARGET);" << resourceId;
             }
         }  else {
             t << "\n\t";