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:
authorBastien Montagne <montagne29@wanadoo.fr>2018-06-13 17:42:56 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2018-06-13 17:42:56 +0300
commit4943739b89c010f08ddcc7bc02bf04acf7f0bc8d (patch)
tree38674282286ec72693929b481d9aa3643da8b746 /source/blender/bmesh
parentb8015ece51c22224265c55196eff61a8f33d7239 (diff)
parentf61c30f804e36bf00e7124514f02bbee42e0197d (diff)
Merge branch 'master' into blender2.8
Conflicts: source/blender/blenloader/intern/readfile.c source/blender/editors/mesh/editmesh_utils.c source/blenderplayer/bad_level_call_stubs/stubs.c
Diffstat (limited to 'source/blender/bmesh')
-rw-r--r--source/blender/bmesh/intern/bmesh_mesh_conv.c9
-rw-r--r--source/blender/bmesh/intern/bmesh_mesh_conv.h5
-rw-r--r--source/blender/bmesh/operators/bmo_mesh_conv.c3
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 5ba3f149689..00bb0110e74 100644
--- a/source/blender/bmesh/intern/bmesh_mesh_conv.c
+++ b/source/blender/bmesh/intern/bmesh_mesh_conv.c
@@ -548,8 +548,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;
@@ -710,11 +714,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,
}));