Skip to content
Permalink
Browse files

Clear inventory before setting lists

  • Loading branch information...
ShadowNinja committed Jun 13, 2014
1 parent 5fb8778 commit d9de29fa50a7d264d68f2530f0b57ada0f8b4903
Showing with 10 additions and 9 deletions.
  1. +10 −9 src/script/lua_api/l_inventory.cpp
@@ -271,19 +271,20 @@ int InvRef::l_set_lists(lua_State *L)
if (!inv) {
return 0;
}

// Make a temporary inventory in case reading fails
Inventory *tempInv(inv);
tempInv->clear();

Server *server = getServer(L);

lua_pushnil(L);
while (lua_next(L, 2)) {
const char* listname = lua_tostring(L, -2);
InventoryList *list = inv->getList(listname);
if (list) {
read_inventory_list(L, -1, inv, listname,
getServer(L), list->getSize());
} else {
read_inventory_list(L, -1, inv, listname,
getServer(L));
}
const char *listname = lua_tostring(L, -2);
read_inventory_list(L, -1, tempInv, listname, server);
lua_pop(L, 1);
}
inv = tempInv;
return 0;
}

0 comments on commit d9de29f

Please sign in to comment.
You can’t perform that action at this time.