LineArt: Correct collection intersection mask logic.

The logic used to be:

"if collection doesn't have child collection, check if ob is from this one"

The correct logic should be:

"if collection child does not have this ob, then check this collection".
This commit is contained in:
YimingWu 2021-12-31 21:54:07 +08:00
parent 97ae08c9fc
commit e79b4523b4
Notes: blender-bot 2023-02-14 09:02:40 +01:00
Referenced by issue #93479, 3.0 Potential candidates for corrective releases
1 changed files with 4 additions and 5 deletions

View File

@ -1970,13 +1970,12 @@ static uchar lineart_intersection_mask_check(Collection *c, Object *ob)
}
}
if (c->children.first == NULL) {
if (BKE_collection_has_object(c, (Object *)(ob->id.orig_id))) {
if (c->lineart_flags & COLLECTION_LRT_USE_INTERSECTION_MASK) {
return c->lineart_intersection_mask;
}
if (BKE_collection_has_object(c, (Object *)(ob->id.orig_id))) {
if (c->lineart_flags & COLLECTION_LRT_USE_INTERSECTION_MASK) {
return c->lineart_intersection_mask;
}
}
return 0;
}