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.
This commit is contained in:
Sergey Sharybin 2015-01-27 22:40:55 +05:00
parent 3f8f4175c3
commit 9aefe08711
2 changed files with 4 additions and 2 deletions

@ -1642,9 +1642,9 @@ static void prepare_mesh_for_viewport_render(Main *bmain, Scene *scene)
Object *obedit = scene->obedit; Object *obedit = scene->obedit;
if (obedit) { if (obedit) {
Mesh *mesh = obedit->data; Mesh *mesh = obedit->data;
/* TODO(sergey): Check object recalc flags as well? */
if ((obedit->type == OB_MESH) && 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)) { if (check_rendered_viewport_visible(bmain)) {
BMesh *bm = mesh->edit_btmesh->bm; BMesh *bm = mesh->edit_btmesh->bm;

@ -270,6 +270,8 @@ enum {
LIB_ID_RECALC = 1 << 12, LIB_ID_RECALC = 1 << 12,
LIB_ID_RECALC_DATA = 1 << 13, LIB_ID_RECALC_DATA = 1 << 13,
LIB_ANIM_NO_RECALC = 1 << 14, LIB_ANIM_NO_RECALC = 1 << 14,
LIB_ID_RECALC_ALL = (LIB_ID_RECALC|LIB_ID_RECALC_DATA),
}; };
#ifdef __cplusplus #ifdef __cplusplus