SL-10953 Fixed “No contents” is displayed when adding a large number of items a few times

meow-7.2.2
andreykproductengine 2019-04-15 17:57:57 +03:00
parent 8217b47720
commit 6ab5182d92
2 changed files with 12 additions and 5 deletions

View File

@ -1498,7 +1498,14 @@ void LLPanelObjectInventory::updateInventory()
mIsInventoryEmpty = TRUE;
}
mHaveInventory = TRUE;
mHaveInventory = !mIsInventoryEmpty || !objectp->isInventoryDirty();
if (objectp->isInventoryDirty())
{
// Inventory is dirty, yet we received inventoryChanged() callback.
// User changed something during ongoing request.
// Rerequest. It will clear dirty flag and won't create dupplicate requests.
objectp->requestInventory();
}
}
else
{
@ -1768,7 +1775,7 @@ void LLPanelObjectInventory::deleteAllChildren()
BOOL LLPanelObjectInventory::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType cargo_type, void *cargo_data, EAcceptance *accept, std::string& tooltip_msg)
{
if (mFolders && mHaveInventory)
if (mFolders)
{
LLFolderViewItem* folderp = mFolders->getNextFromChild(NULL);
if (!folderp)

View File

@ -106,9 +106,9 @@ private:
LLUUID mTaskUUID;
LLUUID mAttachmentUUID;
BOOL mHaveInventory;
BOOL mIsInventoryEmpty;
BOOL mInventoryNeedsUpdate;
BOOL mHaveInventory; // 'Loading' label and used for initial request
BOOL mIsInventoryEmpty; // 'Empty' label
BOOL mInventoryNeedsUpdate; // for idle, set on changed callback
LLFolderViewModelInventory mInventoryViewModel;
};