diff options
author | Weblate <42@minetest.ru> | 2013-06-21 10:24:16 +0200 |
---|---|---|
committer | Weblate <42@minetest.ru> | 2013-06-21 10:24:16 +0200 |
commit | 3af90db5b51da0c37f77fe6410e488c8c27acd67 (patch) | |
tree | 12edd6f0661b464e36863517241b5ec0b87b5ec1 /src/script/lua_api/l_inventory.cpp | |
parent | 58f3cd3eb598a7cf79983fe9e48c738591c6e004 (diff) | |
parent | b1ebd9f79c63cf78b0e0fb2ea6f52d82cdfb95b6 (diff) | |
download | minetest-3af90db5b51da0c37f77fe6410e488c8c27acd67.tar.gz minetest-3af90db5b51da0c37f77fe6410e488c8c27acd67.tar.bz2 minetest-3af90db5b51da0c37f77fe6410e488c8c27acd67.zip |
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'src/script/lua_api/l_inventory.cpp')
-rw-r--r-- | src/script/lua_api/l_inventory.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/script/lua_api/l_inventory.cpp b/src/script/lua_api/l_inventory.cpp index 1404c3c8a..f57a4e8cd 100644 --- a/src/script/lua_api/l_inventory.cpp +++ b/src/script/lua_api/l_inventory.cpp @@ -121,6 +121,9 @@ int InvRef::l_set_size(lua_State *L) const char *listname = luaL_checkstring(L, 2); int newsize = luaL_checknumber(L, 3); Inventory *inv = getinv(L, ref); + if(inv == NULL){ + return 0; + } if(newsize == 0){ inv->deleteList(listname); reportInventoryChange(L, ref); @@ -144,6 +147,9 @@ int InvRef::l_set_width(lua_State *L) const char *listname = luaL_checkstring(L, 2); int newwidth = luaL_checknumber(L, 3); Inventory *inv = getinv(L, ref); + if(inv == NULL){ + return 0; + } InventoryList *list = inv->getList(listname); if(list){ list->setWidth(newwidth); @@ -195,7 +201,11 @@ int InvRef::l_get_list(lua_State *L) InvRef *ref = checkobject(L, 1); const char *listname = luaL_checkstring(L, 2); Inventory *inv = getinv(L, ref); - push_inventory_list(inv, listname, L); + if(inv){ + push_inventory_list(inv, listname, L); + } else { + lua_pushnil(L); + } return 1; } @@ -206,6 +216,9 @@ int InvRef::l_set_list(lua_State *L) InvRef *ref = checkobject(L, 1); const char *listname = luaL_checkstring(L, 2); Inventory *inv = getinv(L, ref); + if(inv == NULL){ + return 0; + } InventoryList *list = inv->getList(listname); if(list) read_inventory_list(inv, listname, L, 3, |