[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57740] trunk/blender/source/blender/ blenkernel/intern/anim.c: Fix #35846: crash rendering with dupligroups visible in 3D viewport during render
Brecht Van Lommel
brechtvanlommel at pandora.be
Tue Jun 25 16:57:46 CEST 2013
Revision: 57740
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57740
Author: blendix
Date: 2013-06-25 14:57:45 +0000 (Tue, 25 Jun 2013)
Log Message:
-----------
Fix #35846: crash rendering with dupligroups visible in 3D viewport during render
in some cases. The dupli code would still do object updates during render indirectly,
while this is disabled for thread safety everywhere else, now we disable it for this
case as well.
Not a pretty solution but this is for the depgraph refactor to solve.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/anim.c
Modified: trunk/blender/source/blender/blenkernel/intern/anim.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/anim.c 2013-06-25 14:48:30 UTC (rev 57739)
+++ trunk/blender/source/blender/blenkernel/intern/anim.c 2013-06-25 14:57:45 UTC (rev 57740)
@@ -1724,8 +1724,11 @@
int persistent_id[MAX_DUPLI_RECUR] = {0};
int flag = 0;
- if (update) flag |= DUPLILIST_DO_UPDATE;
- if (for_render) flag |= DUPLILIST_FOR_RENDER;
+ /* don't allow BKE_object_handle_update for viewport during render, can crash */
+ if (update && !(G.is_rendering && !for_render))
+ flag |= DUPLILIST_DO_UPDATE;
+ if (for_render)
+ flag |= DUPLILIST_FOR_RENDER;
duplilist->first = duplilist->last = NULL;
object_duplilist_recursive((ID *)sce, sce, ob, duplilist, NULL, persistent_id, 0, 0, flag);
More information about the Bf-blender-cvs
mailing list