From 88ab28dc5ff6f0f21e481b3063b33e5bd4109b1d Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 10 Jun 2013 13:01:41 +0000 Subject: [PATCH] Fix #35653: manual texture space location and size not working in cycles viewport. --- source/blender/blenkernel/intern/DerivedMesh.c | 10 ++++++++++ source/blender/editors/transform/transform_generics.c | 3 +++ 2 files changed, 13 insertions(+) diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index 5730fd26bcc..fc226288f04 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -484,6 +484,8 @@ void DM_to_mesh(DerivedMesh *dm, Mesh *me, Object *ob, CustomDataMask mask) Mesh tmp = *me; int totvert, totedge /*, totface */ /* UNUSED */, totloop, totpoly; int did_shapekeys = 0; + float *texloc, *texrot, *texsize; + short *texflag; CustomData_reset(&tmp.vdata); CustomData_reset(&tmp.edata); @@ -529,6 +531,14 @@ void DM_to_mesh(DerivedMesh *dm, Mesh *me, Object *ob, CustomDataMask mask) shapekey_layers_to_keyblocks(dm, me, uid); did_shapekeys = 1; } + + /* copy texture space */ + if (BKE_object_obdata_texspace_get(ob, &texflag, &texloc, &texsize, &texrot)) { + tmp.texflag = *texflag; + copy_v3_v3(tmp.loc, texloc); + copy_v3_v3(tmp.size, texsize); + copy_v3_v3(tmp.rot, texrot); + } /* not all DerivedMeshes store their verts/edges/faces in CustomData, so * we set them here in case they are missing */ diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index 6b0139aa8d9..9e075c9e8e0 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -908,6 +908,9 @@ static void recalcData_view3d(TransInfo *t) * otherwise proxies don't function correctly */ DAG_id_tag_update(&ob->id, OB_RECALC_OB); + + if(t->flag & T_TEXTURE) + DAG_id_tag_update(&ob->id, OB_RECALC_DATA); } } }