[Bf-blender-cvs] [1840fd4fa87] soc-2019-outliner: Merge branch 'master' into soc-2019-outliner
Nathan Craddock
noreply at git.blender.org
Thu Jun 13 22:17:22 CEST 2019
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;
}
More information about the Bf-blender-cvs
mailing list