commit eda2d20a855b782ea530bef5b3a3e1a75e237dfe
parent a106a498bc41411b0057ffb103540ef93449ef23
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date: Fri, 22 Nov 2019 16:11:21 +0100
BugFix: wrong management of add callback returning an error
Diffstat:
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/src/senc2d_scene.c b/src/senc2d_scene.c
@@ -290,17 +290,16 @@ senc2d_scene_add_geometry
} else {
/* New segment */
seg_id_t u = scn->nusegs + actual_nusegs;
- ASSERT(u == htable_seg_size_get(&scn->unique_segments));
- OK(htable_seg_set(&scn->unique_segments, &seg_key, &u));
+ if(add_segment)
+ OK(add_segment(tmp.global_id, i, ctx));
OK(darray_segment_in_push_back(&scn->segments_in, &tmp));
range_adjust_ptr = darray_segment_in_data_get(&scn->segments_in) + u;
FOR_EACH(j, 0, 2) {
if(tmp.medium[j] != SENC2D_UNDEFINED_MEDIUM)
scn->sides_with_defined_medium_count++;
}
- if(add_segment) {
- OK(add_segment(tmp.global_id, i, ctx));
- }
+ ASSERT(u == htable_seg_size_get(&scn->unique_segments));
+ OK(htable_seg_set(&scn->unique_segments, &seg_key, &u));
++actual_nusegs;
}
if(range_adjust_ptr) {