diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-06-09 15:57:50 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-06-09 15:57:50 +0400 |
commit | 0f4e775689a1883a7afb8224479279542d515ec0 (patch) | |
tree | 30d15a32f4ba45dcc543f9d9a9276fa0777d88d3 /source | |
parent | 9c5729e67220c97f059f4a5825f6ba99b4b401d2 (diff) |
Fix #35677, #35525: cycles viewport not updating properly in some situations.
Revision 56883 broke a mechanism where cycles tags itself to be updated later
while it is busy.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/render/render_update.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/source/blender/editors/render/render_update.c b/source/blender/editors/render/render_update.c index 6a4d99d2535..436aef943e4 100644 --- a/source/blender/editors/render/render_update.c +++ b/source/blender/editors/render/render_update.c @@ -83,10 +83,6 @@ void ED_render_scene_update(Main *bmain, Scene *scene, int updated) wmWindow *win; static int recursive_check = FALSE; - /* why do this function then? :) */ - if (updated == 0) - return; - /* don't do this render engine update if we're updating the scene from * other threads doing e.g. rendering or baking jobs */ if (!BLI_thread_is_main()) @@ -126,6 +122,9 @@ void ED_render_scene_update(Main *bmain, Scene *scene, int updated) rv3d = ar->regiondata; engine = rv3d->render_engine; + /* call update if the scene changed, or if the render engine + * tagged itself for update (e.g. because it was busy at the + * time of the last update) */ if (engine && (updated || (engine->flag & RE_ENGINE_DO_UPDATE))) { CTX_wm_screen_set(C, sc); |