@@ -109,9 +109,8 @@ namespace MWLua
109109 const size_t length = table.size ();
110110 for (uint32_t i = 0 ; i < numEffects; ++i)
111111 {
112- if (i >= length)
113- blankIndex (ingred.mData , i);
114- else
112+ blankIndex (ingred.mData , i);
113+ if (i < length)
115114 setFromTable (ingred.mData , i, table[LuaUtil::toLuaIndex (i)]);
116115 }
117116 }
@@ -134,9 +133,8 @@ namespace MWLua
134133 if (i == 0 || i > numEffects)
135134 throw std::runtime_error (" index out of range" );
136135 --i;
137- if (value == sol::nil)
138- blankIndex (ingred.mData , i);
139- else
136+ blankIndex (ingred.mData , i);
137+ if (value != sol::nil)
140138 setFromTable (ingred.mData , i, value.as <sol::lua_table>());
141139 };
142140 listType[sol::meta_function::ipairs] = lua[" ipairsForArray" ].template get <sol::function>();
@@ -214,9 +212,8 @@ namespace MWLua
214212 const size_t length = effects.size ();
215213 for (uint32_t i = 0 ; i < numEffects; ++i)
216214 {
217- if (i >= length)
218- blankIndex (ingred.mData , i);
219- else
215+ blankIndex (ingred.mData , i);
216+ if (i < length)
220217 setFromTable (ingred.mData , i, effects[LuaUtil::toLuaIndex (i)]);
221218 }
222219 }
0 commit comments