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:
authorCampbell Barton <ideasman42@gmail.com>2018-01-18 04:36:25 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-01-18 04:36:25 +0300
commit2be8598fe7aceb0ceba1016e775458d0bfdb52b6 (patch)
tree0d3bd2a9cb72927d8eac7301804d84dce793150a /source/blender/bmesh/operators/bmo_dupe.c
parent7ffe838473a7f0b4ac4e85b5e004e9e218a3769e (diff)
Fix T53811: "bmesh.ops.split" crash
Diffstat (limited to 'source/blender/bmesh/operators/bmo_dupe.c')
-rw-r--r--source/blender/bmesh/operators/bmo_dupe.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/source/blender/bmesh/operators/bmo_dupe.c b/source/blender/bmesh/operators/bmo_dupe.c
index e35c1f3b66c..394faabbd25 100644
--- a/source/blender/bmesh/operators/bmo_dupe.c
+++ b/source/blender/bmesh/operators/bmo_dupe.c
@@ -389,12 +389,10 @@ void bmo_split_exec(BMesh *bm, BMOperator *op)
BMOperator *splitop = op;
BMOperator dupeop;
- BMOperator delop;
const bool use_only_faces = BMO_slot_bool_get(op->slots_in, "use_only_faces");
/* initialize our sub-operator */
BMO_op_init(bm, &dupeop, op->flag, "duplicate");
- BMO_op_init(bm, &delop, op->flag, "delete");
BMO_slot_copy(splitop, slots_in, "geom",
&dupeop, slots_in, "geom");
@@ -437,24 +435,13 @@ void bmo_split_exec(BMesh *bm, BMOperator *op)
}
/* connect outputs of dupe to delete, exluding keep geometry */
- BMO_slot_int_set(delop.slots_in, "context", DEL_FACES);
- BMO_slot_buffer_from_enabled_flag(bm, &delop, delop.slots_in, "geom", BM_ALL_NOLOOP, SPLIT_INPUT);
-
- BMO_op_exec(bm, &delop);
+ BMO_mesh_delete_oflag_context(bm, SPLIT_INPUT, DEL_FACES);
/* now we make our outputs by copying the dupe output */
BMO_slot_copy(&dupeop, slots_out, "geom.out",
splitop, slots_out, "geom.out");
- BMO_slot_copy(&dupeop, slots_out, "boundary_map.out",
- splitop, slots_out, "boundary_map.out");
-
- BMO_slot_copy(&dupeop, slots_out, "isovert_map.out",
- splitop, slots_out, "isovert_map.out");
-
-
/* cleanup */
- BMO_op_finish(bm, &delop);
BMO_op_finish(bm, &dupeop);
#undef SPLIT_INPUT