commit db74856f0956a8f7169c81131a4701848e53f7bf parent 24b9f4959426e61397367d7363f3184fb37af734 Author: Christophe Coustet <christophe.coustet@meso-star.com> Date: Thu, 7 Feb 2019 11:32:25 +0100 BugFix: reverse some flag on a special case Diffstat:
| M | src/senc_scene_analyze.c | | | 12 | ++++++++++++ |
1 file changed, 12 insertions(+), 0 deletions(-)
diff --git a/src/senc_scene_analyze.c b/src/senc_scene_analyze.c @@ -326,6 +326,18 @@ extract_connex_components * associated with neighbour's medium). */ component_canceled = 1; darray_side_id_clear(&stack); + /* Reverse the used flag for sides in cancelled component */ + sz = darray_side_id_size_get(¤t_component); + FOR_EACH(ii, 0, sz) { + enum side_id_t used_side + = darray_side_id_cdata_get(¤t_component)[ii]; + trg_id_t used_trg_id = TRGSIDE_2_TRG(used_side); + enum side_flag used_side_flag + = TRGSIDE_2_SIDEFLAG(used_side); + unsigned char* used = processed + used_trg_id; + ASSERT(*used & (unsigned char)used_side_flag); + *used &= ~(unsigned char)used_side_flag; + } goto canceled; } /* Mark neighbour as processed and stack it */