From bef6944ce123c67c29ea3dd27c9ae1597627e154 Mon Sep 17 00:00:00 2001 From: "Eric M. Tulla (BigPapi)" Date: Tue, 9 Feb 2010 18:00:33 -0500 Subject: EXT-3980 - Closed folders were being reexpanded unnecessarily during inventory search. We now only update the open/closed status when we've updated the filter status. -Reviewed by Richard --- indra/newview/llfolderviewitem.cpp | 4 ---- 1 file changed, 4 deletions(-) (limited to 'indra/newview/llfolderviewitem.cpp') diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp index f154de39c9..20cb2d3604 100644 --- a/indra/newview/llfolderviewitem.cpp +++ b/indra/newview/llfolderviewitem.cpp @@ -1339,10 +1339,6 @@ void LLFolderViewFolder::filter( LLInventoryFilter& filter) if (folder->getFiltered() || folder->hasFilteredDescendants(filter.getMinRequiredGeneration())) { mMostFilteredDescendantGeneration = filter_generation; - if (getRoot()->needsAutoSelect() && autoopen_folders) - { - folder->setOpenArrangeRecursively(TRUE); - } } // just skip it, it has already been filtered continue; -- cgit v1.3 From e7c9f674945533e4a56313b74746886bdb724be2 Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Wed, 10 Feb 2010 18:40:13 +0000 Subject: CID-136 Checker: NULL_RETURNS Function: LLInventorySort::operator ()(const LLFolderViewItem *const &, const LLFolderViewItem *const &) File: /indra/newview/llfolderviewitem.cpp --- indra/newview/llfolderviewitem.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'indra/newview/llfolderviewitem.cpp') diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp index 20cb2d3604..2a77835373 100644 --- a/indra/newview/llfolderviewitem.cpp +++ b/indra/newview/llfolderviewitem.cpp @@ -2544,8 +2544,12 @@ bool LLInventorySort::operator()(const LLFolderViewItem* const& a, const LLFolde { // *TODO: mantipov: probably it is better to add an appropriate method to LLFolderViewItem // or to LLInvFVBridge - S32 a_sort = (static_cast(a->getListener()))->getItem()->getSortField(); - S32 b_sort = (static_cast(b->getListener()))->getItem()->getSortField(); + LLViewerInventoryItem* aitem = (static_cast(a->getListener()))->getItem(); + LLViewerInventoryItem* bitem = (static_cast(b->getListener()))->getItem(); + if (!aitem || !bitem) + return false; + S32 a_sort = (aitem->getSortField(); + S32 b_sort = (bitem->getSortField(); return a_sort < b_sort; } } -- cgit v1.3 From cd627804576a3b58377ec6cca31837cc556939d4 Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Wed, 10 Feb 2010 18:41:54 +0000 Subject: bracket fix. --- indra/newview/llfolderviewitem.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview/llfolderviewitem.cpp') diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp index 2a77835373..3946224c0c 100644 --- a/indra/newview/llfolderviewitem.cpp +++ b/indra/newview/llfolderviewitem.cpp @@ -2548,8 +2548,8 @@ bool LLInventorySort::operator()(const LLFolderViewItem* const& a, const LLFolde LLViewerInventoryItem* bitem = (static_cast(b->getListener()))->getItem(); if (!aitem || !bitem) return false; - S32 a_sort = (aitem->getSortField(); - S32 b_sort = (bitem->getSortField(); + S32 a_sort = aitem->getSortField(); + S32 b_sort = bitem->getSortField(); return a_sort < b_sort; } } -- cgit v1.3 From dce57c6b80b1286889da1a6cadda05c864a31851 Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Fri, 12 Feb 2010 17:13:05 -0500 Subject: EXT-5297 : System folders no longer sort properly in Snowglobe (and Emerald) inventory windows EXT-5399 : Ensemble folder typing code has been reenabled and is mangling inventory folders This fixes two issues: 1. A very serious issue where ensemble auto-typing code was somehow uncommented/reintroduced into viewer2. This randomly changes folder types (sometimes into what older viewers will treat as system folders; i.e. you can't delete or move them). 2. A minor issue where sorting was not correctly identifying what was a system folder or not. --- indra/newview/llfolderviewitem.cpp | 3 +-- indra/newview/llviewerinventory.cpp | 4 ++++ 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'indra/newview/llfolderviewitem.cpp') diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp index 3946224c0c..76607e4874 100644 --- a/indra/newview/llfolderviewitem.cpp +++ b/indra/newview/llfolderviewitem.cpp @@ -1855,10 +1855,9 @@ EInventorySortGroup LLFolderViewFolder::getSortGroup() const return SG_TRASH_FOLDER; } - // Folders that can't be moved are 'system' folders. if( mListener ) { - if( !(mListener->isItemMovable()) ) + if(LLFolderType::lookupIsProtectedType(mListener->getPreferredType())) { return SG_SYSTEM_FOLDER; } diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp index 3001992630..b69eaa4853 100644 --- a/indra/newview/llviewerinventory.cpp +++ b/indra/newview/llviewerinventory.cpp @@ -649,6 +649,8 @@ bool LLViewerInventoryCategory::exportFileLocal(LLFILE* fp) const void LLViewerInventoryCategory::determineFolderType() { + /* Do NOT uncomment this code. This is for future 2.1 support of ensembles. + llassert(FALSE); LLFolderType::EType original_type = getPreferredType(); if (LLFolderType::lookupIsProtectedType(original_type)) return; @@ -692,6 +694,8 @@ void LLViewerInventoryCategory::determineFolderType() { changeType(LLFolderType::FT_NONE); } + llassert(FALSE); + */ } void LLViewerInventoryCategory::changeType(LLFolderType::EType new_folder_type) -- cgit v1.3