diff options
author | Julian Eisel <eiseljulian@gmail.com> | 2016-09-30 02:18:41 +0300 |
---|---|---|
committer | Julian Eisel <eiseljulian@gmail.com> | 2016-09-30 02:18:41 +0300 |
commit | 42ed1f0e3cbd9d477b7a535b52030c7905ca5362 (patch) | |
tree | 2dec6287c35367d6771b38327642db8a7f8f3c49 /source/blender/makesrna/intern | |
parent | 47bba7e15f4b7a105655b81affea9f2d48a3a767 (diff) | |
parent | 344a669c412a5eb5b71555a18aa85ef7a16b253f (diff) |
Merge branch 'master' into blender2.8
Conflicts:
source/blender/blenloader/intern/writefile.c
Diffstat (limited to 'source/blender/makesrna/intern')
-rw-r--r-- | source/blender/makesrna/intern/rna_modifier.c | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c index df6c6c913ab..6cd9fe8f525 100644 --- a/source/blender/makesrna/intern/rna_modifier.c +++ b/source/blender/makesrna/intern/rna_modifier.c @@ -918,17 +918,18 @@ static EnumPropertyItem *rna_DataTransferModifier_layers_select_src_itemf(bConte CustomData *pdata; int num_data, i; - /* XXX Is this OK? */ - dm_src = mesh_get_derived_final(dtmd->modifier.scene, ob_src, CD_MASK_BAREMESH | CD_MTEXPOLY); - pdata = dm_src->getPolyDataLayout(dm_src); - num_data = CustomData_number_of_layers(pdata, CD_MTEXPOLY); + dm_src = object_get_derived_final(ob_src, false); + if (dm_src != NULL) { + pdata = dm_src->getPolyDataLayout(dm_src); + num_data = CustomData_number_of_layers(pdata, CD_MTEXPOLY); - RNA_enum_item_add_separator(&item, &totitem); + RNA_enum_item_add_separator(&item, &totitem); - for (i = 0; i < num_data; i++) { - tmp_item.value = i; - tmp_item.identifier = tmp_item.name = CustomData_get_layer_name(pdata, CD_MTEXPOLY, i); - RNA_enum_item_add(&item, &totitem, &tmp_item); + for (i = 0; i < num_data; i++) { + tmp_item.value = i; + tmp_item.identifier = tmp_item.name = CustomData_get_layer_name(pdata, CD_MTEXPOLY, i); + RNA_enum_item_add(&item, &totitem, &tmp_item); + } } } } @@ -940,17 +941,18 @@ static EnumPropertyItem *rna_DataTransferModifier_layers_select_src_itemf(bConte CustomData *ldata; int num_data, i; - /* XXX Is this OK? */ - dm_src = mesh_get_derived_final(dtmd->modifier.scene, ob_src, CD_MASK_BAREMESH | CD_MLOOPCOL); - ldata = dm_src->getLoopDataLayout(dm_src); - num_data = CustomData_number_of_layers(ldata, CD_MLOOPCOL); + dm_src = object_get_derived_final(ob_src, false); + if (dm_src != NULL) { + ldata = dm_src->getLoopDataLayout(dm_src); + num_data = CustomData_number_of_layers(ldata, CD_MLOOPCOL); - RNA_enum_item_add_separator(&item, &totitem); + RNA_enum_item_add_separator(&item, &totitem); - for (i = 0; i < num_data; i++) { - tmp_item.value = i; - tmp_item.identifier = tmp_item.name = CustomData_get_layer_name(ldata, CD_MLOOPCOL, i); - RNA_enum_item_add(&item, &totitem, &tmp_item); + for (i = 0; i < num_data; i++) { + tmp_item.value = i; + tmp_item.identifier = tmp_item.name = CustomData_get_layer_name(ldata, CD_MLOOPCOL, i); + RNA_enum_item_add(&item, &totitem, &tmp_item); + } } } } |