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:
authorClément Foucault <foucault.clem@gmail.com>2019-01-11 22:02:00 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-01-11 22:09:42 +0300
commit00d2237d2a3948457c468bd393276680997f8371 (patch)
tree143634bb29dd2cb45acab0d80ad702593e4e5d8b /source/blender/editors/space_view3d/view3d_draw_legacy.c
parent9f51fc656e2ae7b4464240775600dcc81ba2df00 (diff)
Fix T57371: Generative modifiers in editmode display vertex group weights
In a better way... 6dbfd7f6d6bc would make the final vertex weights always calculated in edit mode. Now it's only if the option is enabled.
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_draw_legacy.c')
-rw-r--r--source/blender/editors/space_view3d/view3d_draw_legacy.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/source/blender/editors/space_view3d/view3d_draw_legacy.c b/source/blender/editors/space_view3d/view3d_draw_legacy.c
index 1dce9cecc27..04e19efdb20 100644
--- a/source/blender/editors/space_view3d/view3d_draw_legacy.c
+++ b/source/blender/editors/space_view3d/view3d_draw_legacy.c
@@ -888,7 +888,7 @@ void ED_view3d_draw_depth_gpencil(
/* *********************** customdata **************** */
-CustomDataMask ED_view3d_datamask(const Scene *UNUSED(scene), const View3D *v3d)
+CustomDataMask ED_view3d_datamask(const bContext *C, const Scene *UNUSED(scene), const View3D *v3d)
{
CustomDataMask mask = 0;
const int drawtype = view3d_effective_drawtype(v3d);
@@ -900,18 +900,24 @@ CustomDataMask ED_view3d_datamask(const Scene *UNUSED(scene), const View3D *v3d)
mask |= CD_MASK_ORCO;
}
+ if ((CTX_data_mode_enum(C) == CTX_MODE_EDIT_MESH) &&
+ (v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_WEIGHT))
+ {
+ mask |= CD_MASK_MDEFORMVERT;
+ }
+
return mask;
}
/* goes over all modes and view3d settings */
-CustomDataMask ED_view3d_screen_datamask(const Scene *scene, const bScreen *screen)
+CustomDataMask ED_view3d_screen_datamask(const bContext *C, const Scene *scene, const bScreen *screen)
{
CustomDataMask mask = CD_MASK_BAREMESH;
/* check if we need tfaces & mcols due to view mode */
for (const ScrArea *sa = screen->areabase.first; sa; sa = sa->next) {
if (sa->spacetype == SPACE_VIEW3D) {
- mask |= ED_view3d_datamask(scene, sa->spacedata.first);
+ mask |= ED_view3d_datamask(C, scene, sa->spacedata.first);
}
}