Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Bishop <nicholasbishop@gmail.com>2012-05-11 00:34:35 +0400
committerNicholas Bishop <nicholasbishop@gmail.com>2012-05-11 00:34:35 +0400
commitc9c0bfeeb8569c4c8e3d39186a2922de1f7fdc5b (patch)
tree7df6775b6d01a28530c72ec5c1b767537825f106 /source/blender/editors/object/object_modifier.c
parent0f57b0f1e514c8f13f2fcfeb71c6291640f88794 (diff)
Ensure mask layers are always present in sculpt mode.
Diffstat (limited to 'source/blender/editors/object/object_modifier.c')
-rw-r--r--source/blender/editors/object/object_modifier.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c
index 4dd3688e877..7e9201a708d 100644
--- a/source/blender/editors/object/object_modifier.c
+++ b/source/blender/editors/object/object_modifier.c
@@ -76,6 +76,7 @@
#include "ED_armature.h"
#include "ED_object.h"
#include "ED_screen.h"
+#include "ED_sculpt.h"
#include "ED_mesh.h"
#include "WM_api.h"
@@ -147,9 +148,13 @@ ModifierData *ED_object_modifier_add(ReportList *reports, Main *bmain, Scene *sc
}
else if (type == eModifierType_Surface)
DAG_scene_sort(bmain, scene);
- else if (type == eModifierType_Multires)
+ else if (type == eModifierType_Multires) {
/* set totlvl from existing MDISPS layer if object already had it */
multiresModifier_set_levels_from_disps((MultiresModifierData *)new_md, ob);
+
+ /* ensure that grid paint mask layer is created */
+ ED_sculpt_mask_layers_ensure(ob, (MultiresModifierData*)new_md);
+ }
}
DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
@@ -610,6 +615,9 @@ int ED_object_modifier_apply(ReportList *reports, Scene *scene, Object *ob, Modi
BLI_remlink(&ob->modifiers, md);
modifier_free(md);
+ /* ensure mesh paint mask layer remains after applying */
+ ED_sculpt_mask_layers_ensure(ob, NULL);
+
return 1;
}