summaryrefslogtreecommitdiffstats
path: root/src/tools
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/bootstrap/bootstrap.pri2
-rw-r--r--src/tools/moc/preprocessor.cpp7
2 files changed, 7 insertions, 2 deletions
diff --git a/src/tools/bootstrap/bootstrap.pri b/src/tools/bootstrap/bootstrap.pri
index b4f9b2f..6261b30 100644
--- a/src/tools/bootstrap/bootstrap.pri
+++ b/src/tools/bootstrap/bootstrap.pri
@@ -55,7 +55,7 @@ hpux-acc*|hpuxi-acc* {
unix:LIBS += -lz
# win32:LIBS += libz.lib
}
-win32:LIBS += -luser32
+win32:!win32-mwc:LIBS += -luser32
mac {
CONFIG -= incremental
diff --git a/src/tools/moc/preprocessor.cpp b/src/tools/moc/preprocessor.cpp
index bc58769..b16adf4 100644
--- a/src/tools/moc/preprocessor.cpp
+++ b/src/tools/moc/preprocessor.cpp
@@ -515,7 +515,12 @@ void Preprocessor::substituteMacro(const MacroName &macro, Symbols &substituted,
Symbols saveSymbols = symbols;
int saveIndex = index;
- symbols = macros.value(macro).symbols;
+ // This is a workaround for a compiler bug that did not like the QHash::value function that
+ // simply did: "return T();" This code should essentially do the same thing but declares the
+ // default instance outside and calls the other QHash::value() implementation that returns
+ // 'dummy' as the default value now.
+ Macro dummy;
+ symbols = macros.value(macro, dummy).symbols;
index = 0;
safeset += macro;