diff options
author | Ton Roosendaal <ton@blender.org> | 2010-12-20 21:54:32 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2010-12-20 21:54:32 +0300 |
commit | d0193b938d07b0c70f4bbbae0f9fd2d195141da3 (patch) | |
tree | b002f44308e0ae75d3bd67870f48a6def49498a4 | |
parent | 8017a9513be58454b10c324bc729d53880e3f9b5 (diff) |
Bugfix #25312
"Make Local" option "Objects and Data" made materials get
lost on save, the tagging was incorrect. Now it makes
Materials local too.
Implementation note: the code is new (not 2.4) so it misses
some of the hairy goodies we had. It's something for another
time to really make this reliably work.
-rw-r--r-- | source/blender/editors/object/object_relations.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c index 47eafd2b6bb..93b5ff667f9 100644 --- a/source/blender/editors/object/object_relations.c +++ b/source/blender/editors/object/object_relations.c @@ -1727,6 +1727,16 @@ static int make_local_exec(bContext *C, wmOperator *op) id_make_local(id, 0); adt= BKE_animdata_from_id(id); if(adt) BKE_animdata_make_local(adt); + + /* tag indirect data direct */ + matarar= (Material ***)give_matarar(ob); + if(matarar) { + for(a=0; a<ob->totcol; a++) { + ma= (*matarar)[a]; + if(ma) + id_lib_extern(&ma->id); + } + } } for(psys=ob->particlesystem.first; psys; psys=psys->next) |