diff options
Diffstat (limited to 'src/tools/moc/preprocessor.cpp')
-rw-r--r-- | src/tools/moc/preprocessor.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
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 ¯o, 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; |