Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDalai Felinto <dalai@blender.org>2022-05-30 17:11:52 +0300
committerDalai Felinto <dalai@blender.org>2022-05-30 17:11:52 +0300
commitafd81e26af9e8179578873a22fb07965b648f458 (patch)
tree5380d9b9ae7ce6595c3824d9c0c9561fe1c4d328
parenta9a4bcc3d14af907dd8001735789717cb8721422 (diff)
Fix T98446: Spreadsheets filter not working on Name column
-rw-r--r--source/blender/editors/space_spreadsheet/spreadsheet_row_filter.cc48
1 files changed, 22 insertions, 26 deletions
diff --git a/source/blender/editors/space_spreadsheet/spreadsheet_row_filter.cc b/source/blender/editors/space_spreadsheet/spreadsheet_row_filter.cc
index eb8f111baa0..3ae4536b652 100644
--- a/source/blender/editors/space_spreadsheet/spreadsheet_row_filter.cc
+++ b/source/blender/editors/space_spreadsheet/spreadsheet_row_filter.cc
@@ -190,33 +190,29 @@ static void apply_row_filter(const SpreadsheetRowFilter &row_filter,
}
else if (column_data.type().is<InstanceReference>()) {
const StringRef value = row_filter.value_string;
- switch (row_filter.operation) {
- case SPREADSHEET_ROW_FILTER_EQUAL: {
- apply_filter_operation(
- column_data.typed<InstanceReference>(),
- [&](const InstanceReference cell) {
- switch (cell.type()) {
- case InstanceReference::Type::Object: {
- return value == (reinterpret_cast<ID &>(cell.object()).name + 2);
- }
- case InstanceReference::Type::Collection: {
- return value == (reinterpret_cast<ID &>(cell.collection()).name + 2);
- }
- case InstanceReference::Type::GeometrySet: {
- return false;
- }
- case InstanceReference::Type::None: {
- return false;
- }
- }
- BLI_assert_unreachable();
+
+ apply_filter_operation(
+ column_data.typed<InstanceReference>(),
+ [&](const InstanceReference cell) {
+ switch (cell.type()) {
+ case InstanceReference::Type::Object: {
+ return value == (reinterpret_cast<ID &>(cell.object()).name + 2);
+ }
+ case InstanceReference::Type::Collection: {
+ return value == (reinterpret_cast<ID &>(cell.collection()).name + 2);
+ }
+ case InstanceReference::Type::GeometrySet: {
return false;
- },
- prev_mask,
- new_indices);
- break;
- }
- }
+ }
+ case InstanceReference::Type::None: {
+ return false;
+ }
+ }
+ BLI_assert_unreachable();
+ return false;
+ },
+ prev_mask,
+ new_indices);
}
}