summaryrefslogtreecommitdiff
path: root/src/script
diff options
context:
space:
mode:
Diffstat (limited to 'src/script')
-rw-r--r--src/script/api/script_list.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/script/api/script_list.cpp b/src/script/api/script_list.cpp
index 14d400bcb..f6f2f4596 100644
--- a/src/script/api/script_list.cpp
+++ b/src/script/api/script_list.cpp
@@ -818,13 +818,15 @@ SQInteger ScriptList::Valuate(HSQUIRRELVM vm)
sq_push(vm, 2);
for (ScriptListMap::iterator iter = this->items.begin(); iter != this->items.end(); iter++) {
+ int key = (*iter).first;
+
/* Check for changing of items. */
int previous_modification_count = this->modifications;
/* Push the root table as instance object, this is what squirrel does for meta-functions. */
sq_pushroottable(vm);
/* Push all arguments for the valuator function. */
- sq_pushinteger(vm, (*iter).first);
+ sq_pushinteger(vm, key);
for (int i = 0; i < nparam - 1; i++) {
sq_push(vm, i + 3);
}
@@ -868,7 +870,7 @@ SQInteger ScriptList::Valuate(HSQUIRRELVM vm)
return sq_throwerror(vm, _SC("modifying valuated list outside of valuator function"));
}
- this->SetValue((*iter).first, value);
+ this->SetValue(key, value);
/* Pop the return value. */
sq_poptop(vm);