diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2018-06-13 17:29:12 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2018-06-13 17:29:12 +0300 |
commit | f61c30f804e36bf00e7124514f02bbee42e0197d (patch) | |
tree | 0f947a35c7814cb15ce7cfa1b5a2c1eb01d910d7 /source/blender/bmesh | |
parent | 5ff1d845ead05ac6ef952782ebd3ed98277ef6c5 (diff) |
Cleanup: get rid of last G.main in BMesh code.
Diffstat (limited to 'source/blender/bmesh')
-rw-r--r-- | source/blender/bmesh/intern/bmesh_mesh_conv.c | 9 | ||||
-rw-r--r-- | source/blender/bmesh/intern/bmesh_mesh_conv.h | 5 | ||||
-rw-r--r-- | source/blender/bmesh/operators/bmo_mesh_conv.c | 3 |
3 files changed, 12 insertions, 5 deletions
diff --git a/source/blender/bmesh/intern/bmesh_mesh_conv.c b/source/blender/bmesh/intern/bmesh_mesh_conv.c index 474b4656a68..340b0b70772 100644 --- a/source/blender/bmesh/intern/bmesh_mesh_conv.c +++ b/source/blender/bmesh/intern/bmesh_mesh_conv.c @@ -590,8 +590,12 @@ BLI_INLINE void bmesh_quick_edgedraw_flag(MEdge *med, BMEdge *e) } } +/** + * + * \param bmain May be NULL in case \a calc_object_remap parameter option is set. + */ void BM_mesh_bm_to_me( - BMesh *bm, Mesh *me, + Main *bmain, BMesh *bm, Mesh *me, const struct BMeshToMeshParams *params) { MLoop *mloop; @@ -752,11 +756,12 @@ void BM_mesh_bm_to_me( /* patch hook indices and vertex parents */ if (params->calc_object_remap && (ototvert > 0)) { + BLI_assert(bmain != NULL); Object *ob; ModifierData *md; BMVert **vertMap = NULL; - for (ob = G.main->object.first; ob; ob = ob->id.next) { + for (ob = bmain->object.first; ob; ob = ob->id.next) { if ((ob->parent) && (ob->parent->data == me) && ELEM(ob->partype, PARVERT1, PARVERT3)) { if (vertMap == NULL) { diff --git a/source/blender/bmesh/intern/bmesh_mesh_conv.h b/source/blender/bmesh/intern/bmesh_mesh_conv.h index 6e9d62349ea..008960e7f6e 100644 --- a/source/blender/bmesh/intern/bmesh_mesh_conv.h +++ b/source/blender/bmesh/intern/bmesh_mesh_conv.h @@ -32,6 +32,7 @@ * \ingroup bmesh */ +struct Main; struct Mesh; void BM_mesh_cd_validate(BMesh *bm); @@ -60,8 +61,8 @@ struct BMeshToMeshParams { int64_t cd_mask_extra; }; void BM_mesh_bm_to_me( - BMesh *bm, struct Mesh *me, + struct Main *bmain, BMesh *bm, struct Mesh *me, const struct BMeshToMeshParams *params) -ATTR_NONNULL(1, 2, 3); +ATTR_NONNULL(2, 3, 4); #endif /* __BMESH_MESH_CONV_H__ */ diff --git a/source/blender/bmesh/operators/bmo_mesh_conv.c b/source/blender/bmesh/operators/bmo_mesh_conv.c index 7311ed5ce64..cc1f45baf0c 100644 --- a/source/blender/bmesh/operators/bmo_mesh_conv.c +++ b/source/blender/bmesh/operators/bmo_mesh_conv.c @@ -38,6 +38,7 @@ #include "bmesh.h" #include "intern/bmesh_operators_private.h" +#include "BKE_global.h" void bmo_mesh_to_bmesh_exec(BMesh *bm, BMOperator *op) { @@ -72,7 +73,7 @@ void bmo_bmesh_to_mesh_exec(BMesh *bm, BMOperator *op) /* Object *ob = BMO_slot_ptr_get(op, "object"); */ BM_mesh_bm_to_me( - bm, me, + G.main, bm, me, (&(struct BMeshToMeshParams){ .calc_object_remap = true, })); |