[Bf-blender-cvs] [c8a07ef6631] master: BLI: fix finding indices from virtual array
Jacques Lucke
noreply at git.blender.org
Thu Jul 14 11:31:32 CEST 2022
Commit: c8a07ef66311a31cc45901717845139ae0682f2f
Author: Jacques Lucke
Date: Thu Jul 14 11:32:01 2022 +0200
Branches: master
https://developer.blender.org/rBc8a07ef66311a31cc45901717845139ae0682f2f
BLI: fix finding indices from virtual array
The sorting of index vectors assumed that all vectors have
at least one element. Now this is checked for more explicitely.
===================================================================
M source/blender/blenlib/intern/index_mask.cc
===================================================================
diff --git a/source/blender/blenlib/intern/index_mask.cc b/source/blender/blenlib/intern/index_mask.cc
index f3590e4a41c..e9af183d60d 100644
--- a/source/blender/blenlib/intern/index_mask.cc
+++ b/source/blender/blenlib/intern/index_mask.cc
@@ -142,6 +142,7 @@ IndexMask find_indices_based_on_predicate__merge(
int64_t result_mask_size = 0;
for (Vector<Vector<int64_t>> &local_sub_masks : sub_masks) {
for (Vector<int64_t> &sub_mask : local_sub_masks) {
+ BLI_assert(!sub_mask.is_empty());
all_vectors.append(&sub_mask);
result_mask_size += sub_mask.size();
}
@@ -232,7 +233,9 @@ IndexMask find_indices_from_virtual_array(const IndexMask indices_to_check,
}
}
});
- sub_masks.local().append(std::move(masked_indices));
+ if (!masked_indices.is_empty()) {
+ sub_masks.local().append(std::move(masked_indices));
+ }
});
return detail::find_indices_based_on_predicate__merge(indices_to_check, sub_masks, r_indices);
More information about the Bf-blender-cvs
mailing list