summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llfolderviewitem.cpp30
1 files changed, 25 insertions, 5 deletions
diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp
index 1fb8c52068..b76e8395fb 100644
--- a/indra/newview/llfolderviewitem.cpp
+++ b/indra/newview/llfolderviewitem.cpp
@@ -2409,19 +2409,39 @@ void LLFolderViewFolder::draw()
time_t LLFolderViewFolder::getCreationDate() const
{
- // folders have no creation date so use first non-folder descendent's date
+ // folders have no creation date try to create one from an item somewhere in our folder hierarchy
if (!mCreationDate)
{
- for(items_t::const_iterator iit = mItems.begin();
- iit != mItems.end(); ++iit)
+ for (items_t::const_iterator iit = mItems.begin();
+ iit != mItems.end(); ++iit)
{
LLFolderViewItem* itemp = (*iit);
- if (itemp->getCreationDate())
+
+ const time_t item_creation_date = itemp->getCreationDate();
+
+ if (item_creation_date)
{
- mCreationDate = itemp->getCreationDate();
+ mCreationDate = item_creation_date;
break;
}
}
+
+ if (!mCreationDate)
+ {
+ for (folders_t::const_iterator fit = mFolders.begin();
+ fit != mFolders.end(); ++fit)
+ {
+ LLFolderViewFolder* folderp = (*fit);
+
+ const time_t folder_creation_date = folderp->getCreationDate();
+
+ if (folder_creation_date)
+ {
+ mCreationDate = folder_creation_date;
+ break;
+ }
+ }
+ }
}
return llmax<time_t>(mCreationDate, mSubtreeCreationDate);