From a2553444fa74cb2a0a43b98bf89b43cbfd1cb103 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 8 Jul 2013 22:41:14 +0000 Subject: [PATCH] Fix #35969: blender internal and cycles not updating mesh while in edit mode. Patch for blender internal made by Campbell. --- intern/cycles/blender/blender_mesh.cpp | 3 +++ source/blender/editors/render/render_internal.c | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp index d628fa04f92..90278f215c0 100644 --- a/intern/cycles/blender/blender_mesh.cpp +++ b/intern/cycles/blender/blender_mesh.cpp @@ -462,6 +462,9 @@ Mesh *BlenderSync::sync_mesh(BL::Object b_ob, bool object_updated, bool hide_tri mesh->name = ustring(b_ob_data.name().c_str()); if(render_layer.use_surfaces || render_layer.use_hair) { + if(preview) + b_ob.update_from_editmode(); + BL::Mesh b_mesh = object_to_mesh(b_data, b_ob, b_scene, true, !preview, need_undeformed); if(b_mesh) { diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.c index 15aa67feefa..7a2ece66ba4 100644 --- a/source/blender/editors/render/render_internal.c +++ b/source/blender/editors/render/render_internal.c @@ -982,8 +982,13 @@ static bool render_view3d_flag_changed(RenderEngine *engine, const bContext *C) if (engine->update_flag & RE_ENGINE_UPDATE_OTHER) job_update_flag |= PR_UPDATE_MATERIAL; - if (engine->update_flag & RE_ENGINE_UPDATE_DATABASE) + if (engine->update_flag & RE_ENGINE_UPDATE_DATABASE) { job_update_flag |= PR_UPDATE_DATABASE; + + /* load editmesh */ + if (scene->obedit) + ED_object_editmode_load(scene->obedit); + } engine->update_flag = 0;