diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-01-27 20:40:55 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-01-27 20:41:56 +0300 |
commit | 9aefe0871115bba491638fa53ab11226d5b24a64 (patch) | |
tree | b86ffc399c109ab74bf462160a56ac81819f0945 /source | |
parent | 3f8f4175c3030437df341b37c0d074638758f664 (diff) |
Fix T43398: Viewport "Renderend" ist not updated when a material is assigned to a face
The issues goes back to eb016eb and now it becomes clear object could be tagged for
update from the edit mode as well.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/intern/scene.c | 4 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_ID.h | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index 8f479d4adf9..f94f7cd8f0b 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -1642,9 +1642,9 @@ static void prepare_mesh_for_viewport_render(Main *bmain, Scene *scene) Object *obedit = scene->obedit; if (obedit) { Mesh *mesh = obedit->data; - /* TODO(sergey): Check object recalc flags as well? */ if ((obedit->type == OB_MESH) && - (mesh->id.flag & (LIB_ID_RECALC | LIB_ID_RECALC_DATA))) + ((obedit->id.flag & LIB_ID_RECALC_ALL) || + (mesh->id.flag & LIB_ID_RECALC_ALL))) { if (check_rendered_viewport_visible(bmain)) { BMesh *bm = mesh->edit_btmesh->bm; diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h index c00435faa9d..b51b53cc801 100644 --- a/source/blender/makesdna/DNA_ID.h +++ b/source/blender/makesdna/DNA_ID.h @@ -270,6 +270,8 @@ enum { LIB_ID_RECALC = 1 << 12, LIB_ID_RECALC_DATA = 1 << 13, LIB_ANIM_NO_RECALC = 1 << 14, + + LIB_ID_RECALC_ALL = (LIB_ID_RECALC|LIB_ID_RECALC_DATA), }; #ifdef __cplusplus |