[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59830] branches/soc-2013-depsgraph_mt/ source/blender/editors/render/render_internal.c: Objects will now restore their derived caches nicely after rendering in locked UI

Sergey Sharybin sergey.vfx at gmail.com
Thu Sep 5 14:23:12 CEST 2013


Revision: 59830
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59830
Author:   nazgul
Date:     2013-09-05 12:23:12 +0000 (Thu, 05 Sep 2013)
Log Message:
-----------
Objects will now restore their derived caches nicely after rendering in locked UI

Before this it was possible some objects didn't update properly because of lack
of dependency handling.

Modified Paths:
--------------
    branches/soc-2013-depsgraph_mt/source/blender/editors/render/render_internal.c

Modified: branches/soc-2013-depsgraph_mt/source/blender/editors/render/render_internal.c
===================================================================
--- branches/soc-2013-depsgraph_mt/source/blender/editors/render/render_internal.c	2013-09-05 12:23:08 UTC (rev 59829)
+++ branches/soc-2013-depsgraph_mt/source/blender/editors/render/render_internal.c	2013-09-05 12:23:12 UTC (rev 59830)
@@ -520,13 +520,25 @@
 
 	/* Finally unlock the user interface (if it was locked). */
 	if (rj->interface_locked) {
+		Scene *scene;
+
 		/* Interface was locked, so window manager couldn't have been changed
 		 * and using one from Global will unlock exactly the same manager as
 		 * was locked before running the job.
 		 */
 		WM_set_locked_interface(G.main->wm.first, false);
 
-		/* TODO(sergey): Do we need to re-create defived meshes here? */
+		/* We've freed all the derived caches before rendering, which is
+		 * effectively the same as if we re-loaded the file.
+		 *
+		 * So let's not try being smart here and just reset all updated
+		 * scene layers and use generic DAG_on_visible_update.
+		 */
+		for (scene = G.main->scene.first; scene; scene = scene->id.next) {
+			scene->lay_updated = 0;
+		}
+
+		DAG_on_visible_update(G.main, false);
 	}
 }
 




More information about the Bf-blender-cvs mailing list