FIRE-12418: Proposed fix for recent items not being properly filtered until filters get reset

Ansariel 2013-12-05 00:17:33 +01:00
parent 0a3fec9703
commit 0445a88235
1 changed files with 47 additions and 9 deletions

View File

@ -1141,15 +1141,53 @@ void LLInventoryFilter::fromParams(const Params& params)
return;
}
setFilterObjectTypes(params.filter_ops.types);
setFilterCategoryTypes(params.filter_ops.category_types);
setFilterWearableTypes(params.filter_ops.wearable_types);
setDateRange(params.filter_ops.date_range.min_date, params.filter_ops.date_range.max_date);
setHoursAgo(params.filter_ops.hours_ago);
setShowFolderState(params.filter_ops.show_folder_state);
setFilterPermissions(params.filter_ops.permissions);
setFilterSubString(params.substring);
setDateRangeLastLogoff(params.since_logoff);
// <FS:Ansariel> FIRE-12418: Only apply filter params if they are really provided
//setFilterObjectTypes(params.filter_ops.types);
//setFilterCategoryTypes(params.filter_ops.category_types);
//setFilterWearableTypes(params.filter_ops.wearable_types);
//setDateRange(params.filter_ops.date_range.min_date, params.filter_ops.date_range.max_date);
//setHoursAgo(params.filter_ops.hours_ago);
//setShowFolderState(params.filter_ops.show_folder_state);
//setFilterPermissions(params.filter_ops.permissions);
//setFilterSubString(params.substring);
//setDateRangeLastLogoff(params.since_logoff);
if (params.filter_ops.types.isProvided())
{
setFilterObjectTypes(params.filter_ops.types);
}
if (params.filter_ops.category_types.isProvided())
{
setFilterCategoryTypes(params.filter_ops.category_types);
}
if (params.filter_ops.wearable_types.isProvided())
{
setFilterWearableTypes(params.filter_ops.wearable_types);
}
if (params.filter_ops.date_range.min_date.isProvided() && params.filter_ops.date_range.max_date.isProvided())
{
setDateRange(params.filter_ops.date_range.min_date, params.filter_ops.date_range.max_date);
}
if (params.filter_ops.hours_ago.isProvided())
{
setHoursAgo(params.filter_ops.hours_ago);
}
if (params.filter_ops.show_folder_state.isProvided())
{
setShowFolderState(params.filter_ops.show_folder_state);
}
if (params.filter_ops.permissions.isProvided())
{
setFilterPermissions(params.filter_ops.permissions);
}
if (params.substring.isProvided())
{
setFilterSubString(params.substring);
}
if (params.since_logoff.isProvided())
{
setDateRangeLastLogoff(params.since_logoff);
}
// </FS:Ansariel>
}
U64 LLInventoryFilter::getFilterObjectTypes() const