Commit: 4943739b89c010f08ddcc7bc02bf04acf7f0bc8d Author: Bastien Montagne Date: Wed Jun 13 16:42:56 2018 +0200 Branches: blender2.8 https://developer.blender.org/rB4943739b89c010f08ddcc7bc02bf04acf7f0bc8d
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 =================================================================== =================================================================== diff --cc source/blender/blenkernel/intern/mesh.c index b325d8d02d9,770d482b33b..e83f2d92dd9 --- a/source/blender/blenkernel/intern/mesh.c +++ b/source/blender/blenkernel/intern/mesh.c @@@ -712,27 -545,6 +712,28 @@@ BMesh *BKE_mesh_to_bmesh_ex return bm; } +BMesh *BKE_mesh_to_bmesh( + Mesh *me, Object *ob, + const bool add_key_index, const struct BMeshCreateParams *params) +{ + return BKE_mesh_to_bmesh_ex( + me, params, + &(struct BMeshFromMeshParams){ + .calc_face_normal = false, + .add_key_index = add_key_index, + .use_shapekey = true, + .active_shapekey = ob->shapenr, + }); +} + +Mesh *BKE_bmesh_to_mesh_nomain(BMesh *bm, const struct BMeshToMeshParams *params) +{ ++ BLI_assert(params->calc_object_remap == false); + Mesh *mesh = BKE_id_new_nomain(ID_ME, NULL); - BM_mesh_bm_to_me(bm, mesh, params); ++ BM_mesh_bm_to_me(NULL, bm, mesh, params); + return mesh; +} + void BKE_mesh_make_local(Main *bmain, Mesh *me, const bool lib_local) { BKE_id_make_local_generic(bmain, &me->id, true, lib_local); diff --cc source/blender/editors/mesh/editmesh_utils.c index bbc9471638d,e1303b14f0e..e18758a5a58 --- a/source/blender/editors/mesh/editmesh_utils.c +++ b/source/blender/editors/mesh/editmesh_utils.c @@@ -43,6 -43,8 +43,7 @@@ #include "BKE_DerivedMesh.h" #include "BKE_context.h" -#include "BKE_depsgraph.h" + #include "BKE_main.h" #include "BKE_mesh.h" #include "BKE_mesh_mapping.h" #include "BKE_report.h" @@@ -328,9 -324,9 +329,9 @@@ void EDBM_mesh_make(Object *ob, const i /** * \warning This can invalidate the #DerivedMesh cache of other objects (for linked duplicates). - * Most callers should run #DAG_id_tag_update on \a ob->data, see: T46738, T46913 + * Most callers should run #DEG_id_tag_update on \a ob->data, see: T46738, T46913 */ - void EDBM_mesh_load(Object *ob) + void EDBM_mesh_load(Main *bmain, Object *ob) { Mesh *me = ob->data; BMesh *bm = me->edit_btmesh->bm; diff --cc source/blender/editors/mesh/mesh_data.c index d2410c7d97b,fc74397010c..46b84f328cc --- a/source/blender/editors/mesh/mesh_data.c +++ b/source/blender/editors/mesh/mesh_data.c @@@ -577,8 -602,10 +578,8 @@@ static int drop_named_image_invoke(bCon if (me->edit_btmesh == NULL) return OPERATOR_CANCELLED; - ED_uvedit_assign_image(bmain, scene, obedit, ima, NULL); - if (exitmode) { - EDBM_mesh_load(obedit); + EDBM_mesh_load(bmain, obedit); EDBM_mesh_free(me->edit_btmesh); MEM_freeN(me->edit_btmesh); me->edit_btmesh = NULL; diff --cc source/blender/editors/object/object_hook.c index 0ce12944321,94ec8755616..6a3cb9aa097 --- a/source/blender/editors/object/object_hook.c +++ b/source/blender/editors/object/object_hook.c @@@ -318,10 -315,10 +318,10 @@@ static bool object_hook_index_array(Mai BMEditMesh *em; - EDBM_mesh_load(obedit); + EDBM_mesh_load(bmain, obedit); EDBM_mesh_make(obedit, scene->toolsettings->selectmode, true); - DAG_id_tag_update(obedit->data, 0); + DEG_id_tag_update(obedit->data, 0); em = me->edit_btmesh; diff --cc source/blender/editors/object/object_relations.c index 84e3e63fede,8abbb535981..a114b2cc6d5 --- a/source/blender/editors/object/object_relations.c +++ b/source/blender/editors/object/object_relations.c @@@ -145,10 -139,10 +145,10 @@@ static int vertex_parent_set_exec(bCont Mesh *me = obedit->data; BMEditMesh *em; - EDBM_mesh_load(obedit); + EDBM_mesh_load(bmain, obedit); EDBM_mesh_make(obedit, scene->toolsettings->selectmode, true); - DAG_id_tag_update(obedit->data, 0); + DEG_id_tag_update(obedit->data, 0); em = me->edit_btmesh; diff --cc source/blender/makesrna/intern/rna_object.c index f74651f35f2,87c9291af8d..a9b87ea0703 --- a/source/blender/makesrna/intern/rna_object.c +++ b/source/blender/makesrna/intern/rna_object.c @@@ -278,10 -273,10 +278,10 @@@ static void rna_Object_active_shape_upd /* exit/enter editmode to get new shape */ switch (ob->type) { case OB_MESH: - EDBM_mesh_load(ob); + EDBM_mesh_load(bmain, ob); EDBM_mesh_make(ob, scene->toolsettings->selectmode, true); - DAG_id_tag_update(ob->data, 0); + DEG_id_tag_update(ob->data, 0); EDBM_mesh_normals_update(((Mesh *)ob->data)->edit_btmesh); BKE_editmesh_tessface_calc(((Mesh *)ob->data)->edit_btmesh); diff --cc source/blender/modifiers/intern/MOD_edgesplit.c index e8ffddbde4e,a0d717f1c0f..e1806dc8283 --- a/source/blender/modifiers/intern/MOD_edgesplit.c +++ b/source/blender/modifiers/intern/MOD_edgesplit.c @@@ -107,11 -96,10 +107,10 @@@ static Mesh *doEdgeSplit(Mesh *mesh, Ed /* BM_mesh_validate(bm); */ /* for troubleshooting */ - result = BKE_id_new_nomain(ID_ME, mesh->id.name); - BM_mesh_bm_to_me(bm, result, &((struct BMeshToMeshParams){0})); - result = CDDM_from_bmesh(bm, true); ++ result = BKE_bmesh_to_mesh_nomain(bm, &((struct BMeshToMeshParams){0})); BM_mesh_free(bm); - result->dirty |= DM_DIRTY_NORMALS; + result->runtime.cd_dirty_vert |= CD_MASK_NORMAL; return result; } diff --cc source/blender/python/bmesh/bmesh_py_types.c index c6a67a1b2dd,07c255c4abe..c2d159538cb --- a/source/blender/python/bmesh/bmesh_py_types.c +++ b/source/blender/python/bmesh/bmesh_py_types.c @@@ -34,11 -34,11 +34,12 @@@ #include "DNA_object_types.h" #include "DNA_material_types.h" -#include "BKE_depsgraph.h" #include "BKE_customdata.h" #include "BKE_DerivedMesh.h" + #include "BKE_global.h" +#include "DEG_depsgraph.h" + #include "bmesh.h" #include <Python.h> @@@ -902,7 -902,11 +903,8 @@@ static PyObject *bpy_bmesh_to_mesh(BPy_ bm = self->bm; - /* python won't ensure matching uv/mtex */ - BM_mesh_cd_validate(bm); - BM_mesh_bm_to_me( + G.main, /* XXX UGLY! */ bm, me, (&(struct BMeshToMeshParams){ .calc_object_remap = true, _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs