summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/lleventpoll.cpp5
-rw-r--r--indra/newview/llfolderviewmodelinventory.cpp6
-rw-r--r--indra/newview/llstartup.cpp2
3 files changed, 10 insertions, 3 deletions
diff --git a/indra/newview/lleventpoll.cpp b/indra/newview/lleventpoll.cpp
index 6f3f6e9166..26782e53f0 100644
--- a/indra/newview/lleventpoll.cpp
+++ b/indra/newview/lleventpoll.cpp
@@ -247,8 +247,9 @@ namespace Details
errorCount = 0;
if (!result.isMap() ||
- !result.get("events") ||
- !result.get("id"))
+ !result.has("events") ||
+ !result["events"].isArray() ||
+ !result.has("id"))
{
LL_WARNS("LLEventPollImpl") << " <" << counter << "> received event poll with no events or id key: " << result << LL_ENDL;
continue;
diff --git a/indra/newview/llfolderviewmodelinventory.cpp b/indra/newview/llfolderviewmodelinventory.cpp
index b6d856e31b..241aa96bc8 100644
--- a/indra/newview/llfolderviewmodelinventory.cpp
+++ b/indra/newview/llfolderviewmodelinventory.cpp
@@ -182,11 +182,15 @@ void LLFolderViewModelItemInventory::setPassedFilter(bool passed, S32 filter_gen
bool generation_skip = mMarkedDirtyGeneration >= 0
&& mPrevPassedAllFilters
&& mMarkedDirtyGeneration < mRootViewModel.getFilter().getFirstSuccessGeneration();
+ S32 last_generation = mLastFilterGeneration;
LLFolderViewModelItemCommon::setPassedFilter(passed, filter_generation, string_offset, string_size);
bool before = mPrevPassedAllFilters;
mPrevPassedAllFilters = passedFilter(filter_generation);
- if (before != mPrevPassedAllFilters || generation_skip)
+ if (before != mPrevPassedAllFilters // Change of state
+ || generation_skip // Was marked dirty
+ // Potential change from being in-progress and invisible to visible)
+ || (mPrevPassedAllFilters && last_generation < mRootViewModel.getFilter().getFirstRequiredGeneration()))
{
// Need to rearrange the folder if the filtered state of the item changed,
// previously passed item skipped filter generation changes while being dirty
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index 1dd5c5cbe5..10293a90c8 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -324,6 +324,8 @@ void set_flags_and_update_appearance()
{
LLAppearanceMgr::instance().setAttachmentInvLinkEnable(true);
LLAppearanceMgr::instance().updateAppearanceFromCOF(true, true, no_op);
+
+ LLInventoryModelBackgroundFetch::instance().start();
}
// Returns false to skip other idle processing. Should only return