Commit: 1840fd4fa87dc9efac2ebd72ea562d76065bf25d Author: Nathan Craddock Date: Thu Jun 13 14:05:29 2019 -0600 Branches: soc-2019-outliner https://developer.blender.org/rB1840fd4fa87dc9efac2ebd72ea562d76065bf25d
Merge branch 'master' into soc-2019-outliner =================================================================== =================================================================== diff --cc source/blender/editors/object/object_add.c index 1e0fcd17063,99c3d7da2a2..647c02413a6 --- a/source/blender/editors/object/object_add.c +++ b/source/blender/editors/object/object_add.c @@@ -2023,8 -2024,23 +2024,23 @@@ static Base *duplibase_for_convert BKE_collection_object_add_from(bmain, scene, ob, obn); basen = BKE_view_layer_base_find(view_layer, obn); - ED_object_base_select(basen, BA_SELECT); - ED_object_base_select(base, BA_DESELECT); + ED_object_base_select(view_layer, basen, BA_SELECT); - ED_object_base_select(view_layer, basen, BA_DESELECT); ++ ED_object_base_select(view_layer, base, BA_DESELECT); + + /* XXX Doing that here is stupid, it means we update and re-evaluate the whole depsgraph every + * time we need to duplicate an object to convert it. Even worse, this is not 100% correct, since + * we do not yet have duplicated obdata. + * However, that is a safe solution for now. Proper, longer-term solution is to refactor + * convert_exec to: + * - duplicate all data it needs to in a first loop. + * - do a single update. + * - convert data in a second loop. */ + DEG_graph_tag_relations_update(depsgraph); + CustomData_MeshMasks customdata_mask_prev = scene->customdata_mask; + CustomData_MeshMasks_update(&scene->customdata_mask, &CD_MASK_MESH); + BKE_scene_graph_update_tagged(depsgraph, bmain); + scene->customdata_mask = customdata_mask_prev; + return basen; } _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs