diff options
-rw-r--r-- | abstractmetabuilder.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/abstractmetabuilder.cpp b/abstractmetabuilder.cpp index 6b22a6ddf..a84d130b9 100644 --- a/abstractmetabuilder.cpp +++ b/abstractmetabuilder.cpp @@ -788,23 +788,23 @@ int AbstractMetaBuilder::figureOutEnumValue(const QString &stringValue, matched = true; } else { - AbstractMetaEnumValue *ev = 0; - - if (metaEnum && (ev = metaEnum->values().find(s))) { - v = ev->value(); - matched = true; - - } else if (metaEnum && (ev = metaEnum->enclosingClass()->findEnumValue(s, metaEnum))) { - v = ev->value(); - matched = true; - - } else { - if (metaEnum) + AbstractMetaEnumValue* ev = 0; + AbstractMetaClass* enumEnclosingClass = metaEnum ? metaEnum->enclosingClass() : 0; + + if (metaEnum) { + if (ev = metaEnum->values().find(s)) { + v = ev->value(); + matched = true; + } else if (enumEnclosingClass && (ev = enumEnclosingClass->findEnumValue(s, metaEnum))) { + v = ev->value(); + matched = true; + } else { ReportHandler::warning("unhandled enum value: " + s + " in " - + metaEnum->enclosingClass()->name() + "::" + + (enumEnclosingClass ? QString("%1::").arg(enumEnclosingClass->name()) : QString()) + metaEnum->name()); - else - ReportHandler::warning("unhandled enum value: Unknown enum"); + } + } else { + ReportHandler::warning("unhandled enum value: Unknown enum"); } } |