Inventory: Fix missing setModified calls
authorSmallJoker <mk939@ymail.com>
Sun, 25 Aug 2019 07:46:54 +0000 (09:46 +0200)
committerSmallJoker <mk939@ymail.com>
Sun, 25 Aug 2019 07:46:54 +0000 (09:46 +0200)
Previously inv:remove_item and inv:set_list did not trigger an inventory update

src/inventory.cpp

index 375f0f147e2ea318e6fe407ffbddb2c210c98e7b..02e122416f255dc08acfe0d23c98c77660210b60 100644 (file)
@@ -685,6 +685,8 @@ ItemStack InventoryList::removeItem(const ItemStack &item)
                                break;
                }
        }
+       if (!removed.empty())
+               setModified();
        return removed;
 }
 
@@ -936,15 +938,18 @@ InventoryList * Inventory::addList(const std::string &name, u32 size)
                {
                        delete m_lists[i];
                        m_lists[i] = new InventoryList(name, size, m_itemdef);
+                       m_lists[i]->setModified();
                }
                return m_lists[i];
        }
 
 
        //don't create list with invalid name
-       if (name.find(' ') != std::string::npos) return NULL;
+       if (name.find(' ') != std::string::npos)
+               return nullptr;
 
        InventoryList *list = new InventoryList(name, size, m_itemdef);
+       list->setModified();
        m_lists.push_back(list);
        return list;
 }