summaryrefslogtreecommitdiff
path: root/indra/newview/llfolderviewitem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llfolderviewitem.cpp')
-rw-r--r--indra/newview/llfolderviewitem.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp
index aee5a47011..8d6114c887 100644
--- a/indra/newview/llfolderviewitem.cpp
+++ b/indra/newview/llfolderviewitem.cpp
@@ -2146,8 +2146,14 @@ BOOL LLFolderViewFolder::addItem(LLFolderViewItem* item)
item->dirtyFilter();
- // Update the folder creation date if the child is newer than our current date
- setCreationDate(llmax<time_t>(mCreationDate, item->getCreationDate()));
+ // Update the folder creation date if the folder has no creation date
+ bool setting_date = false;
+ const time_t item_creation_date = item->getCreationDate();
+ if ((item_creation_date > 0) && (mCreationDate == 0))
+ {
+ setCreationDate(item_creation_date);
+ setting_date = true;
+ }
// Handle sorting
requestArrange();
@@ -2157,8 +2163,11 @@ BOOL LLFolderViewFolder::addItem(LLFolderViewItem* item)
LLFolderViewFolder* parentp = getParentFolder();
while (parentp)
{
- // Update the folder creation date if the child is newer than our current date
- parentp->setCreationDate(llmax<time_t>(parentp->mCreationDate, item->getCreationDate()));
+ // Update the parent folder creation date
+ if (setting_date && (parentp->mCreationDate == 0))
+ {
+ parentp->setCreationDate(item_creation_date);
+ }
if (parentp->mSortFunction.isByDate())
{