From 5759be7cdf0f8fe0745265b85bab8c37bd2335be Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Wed, 17 Aug 2022 18:06:51 +0300 Subject: SL-17834 MP window freezes when loading items from Inventory 1. Do not process all marketpalce changes at once, schedule them for later 2. Do not notifyObservers from notifyObservers --- indra/newview/llinventorymodel.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/newview/llinventorymodel.cpp') diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp index 37500176ea..ace4de928e 100644 --- a/indra/newview/llinventorymodel.cpp +++ b/indra/newview/llinventorymodel.cpp @@ -1838,7 +1838,8 @@ void LLInventoryModel::addChangedMask(U32 mask, const LLUUID& referent) } // Fix me: From DD-81, probably shouldn't be here, instead - // should be somewhere in an observer + // should be somewhere in an observer or in + // LLMarketplaceInventoryObserver::onIdleProcessQueue update_marketplace_category(referent, false); if (mask & LLInventoryObserver::ADD) -- cgit v1.2.3 From b2ad2f064504688e31a67366a9d64cea8a9822fe Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Thu, 6 Oct 2022 22:42:49 +0300 Subject: SL-18297 A freeze while checking marketplace for errors --- indra/newview/llinventorymodel.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'indra/newview/llinventorymodel.cpp') diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp index b1ecf8e928..1b794d7525 100644 --- a/indra/newview/llinventorymodel.cpp +++ b/indra/newview/llinventorymodel.cpp @@ -1851,10 +1851,13 @@ void LLInventoryModel::addChangedMask(U32 mask, const LLUUID& referent) mChangedItemIDs.insert(referent); } - // Fix me: From DD-81, probably shouldn't be here, instead - // should be somewhere in an observer or in - // LLMarketplaceInventoryObserver::onIdleProcessQueue - update_marketplace_category(referent, false); + if (mask != LLInventoryObserver::LABEL) + { + // Fix me: From DD-81, probably shouldn't be here, instead + // should be somewhere in an observer or in + // LLMarketplaceInventoryObserver::onIdleProcessQueue + update_marketplace_category(referent, false); + } if (mask & LLInventoryObserver::ADD) { -- cgit v1.2.3