diff options
author | Nicholas Bishop <nicholasbishop@gmail.com> | 2010-09-09 04:14:51 +0400 |
---|---|---|
committer | Nicholas Bishop <nicholasbishop@gmail.com> | 2010-09-09 04:14:51 +0400 |
commit | 4eaa10aa02994c4609e1c12e38d0eda6355f9077 (patch) | |
tree | d2a8fcc7adc471dee1c5b2f29e2431c8afbfa469 /source/blender/blenkernel/intern/mesh.c | |
parent | 2d4e8ba22fc4fd304c35af629480e80d4cb8bac2 (diff) |
== Multires ==
Fixed bug #23657, "Modifiers dosen't work when you select diffrent mesh for object"
Multires modifier now adds empty mdisps if they're missing, rather than displaying a warning
Switching an object's mesh will now check for a multires modifier; if found the modifier's total number of levels are reset to match the mesh's mdisps
Switching the mesh also forces a multires update so that sculpted changes aren't lost
Diffstat (limited to 'source/blender/blenkernel/intern/mesh.c')
-rw-r--r-- | source/blender/blenkernel/intern/mesh.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c index 94131fdbe9d..2f8553b06b3 100644 --- a/source/blender/blenkernel/intern/mesh.c +++ b/source/blender/blenkernel/intern/mesh.c @@ -51,6 +51,8 @@ #include "BKE_displist.h" #include "BKE_library.h" #include "BKE_material.h" +#include "BKE_modifier.h" +#include "BKE_multires.h" #include "BKE_key.h" /* these 2 are only used by conversion functions */ #include "BKE_curve.h" @@ -492,6 +494,8 @@ Mesh *get_mesh(Object *ob) void set_mesh(Object *ob, Mesh *me) { Mesh *old=0; + + multires_force_update(ob); if(ob==0) return; @@ -504,6 +508,8 @@ void set_mesh(Object *ob, Mesh *me) } test_object_materials((ID *)me); + + test_object_modifiers(ob); } /* ************** make edges in a Mesh, for outside of editmode */ |