summaryrefslogtreecommitdiffstats
path: root/generator
diff options
context:
space:
mode:
authorKent Hansen <khansen@scrabble.troll.no>2008-08-19 10:07:42 +0200
committerKent Hansen <khansen@scrabble.troll.no>2008-08-19 10:07:42 +0200
commit742bebe329cc559d658eb46562a9d2eee2c3b778 (patch)
treed5fa403b346ac5eb3c836a0dd848e001c56ff984 /generator
parentd2a38409a7cd3f20e4b46a8fce4eaf6aedf368b7 (diff)
subtract base offset when indexing table
Diffstat (limited to 'generator')
-rw-r--r--generator/classgenerator.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/generator/classgenerator.cpp b/generator/classgenerator.cpp
index 2d87928..2c81a53 100644
--- a/generator/classgenerator.cpp
+++ b/generator/classgenerator.cpp
@@ -768,7 +768,10 @@ static void writeEnumClass(QTextStream &stream, const AbstractMetaClass *meta_cl
<< "::" << values.at(uniqueIndexes.first())->name() << ")"
<< " && (value <= " << meta_class->qualifiedCppName()
<< "::" << values.at(uniqueIndexes.last())->name() << "))" << endl
- << " return qtscript_" << qtScriptEnumName << "_keys[static_cast<int>(value)];" << endl;
+ << " return qtscript_" << qtScriptEnumName
+ << "_keys[static_cast<int>(value)-static_cast<int>("
+ << meta_class->qualifiedCppName() << "::"
+ << values.at(uniqueIndexes.first())->name() << ")];" << endl;
} else {
stream << " for (int i = 0; i < " << uniqueIndexes.size() << "; ++i) {" << endl
<< " if (qtscript_" << qtScriptEnumName << "_values[i] == value)" << endl