[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58078] branches/soc-2013-depsgraph_mt/ source/blender/blenkernel/intern/scene.c: Workaround for crash caused by threaded dupligorup update
Sergey Sharybin
sergey.vfx at gmail.com
Mon Jul 8 15:56:34 CEST 2013
Revision: 58078
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58078
Author: nazgul
Date: 2013-07-08 13:56:34 +0000 (Mon, 08 Jul 2013)
Log Message:
-----------
Workaround for crash caused by threaded dupligorup update
Some objects from scene could have dupligroup with objects
which are not in the scene. This case wasn't checked by
workaround for threaded display object free routines.
We really need to have threading issues with display
objects solved.
Modified Paths:
--------------
branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/scene.c
Modified: branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/scene.c
===================================================================
--- branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/scene.c 2013-07-08 13:30:11 UTC (rev 58077)
+++ branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/scene.c 2013-07-08 13:56:34 UTC (rev 58078)
@@ -1268,6 +1268,15 @@
if (ob->recalc & OB_RECALC_ALL) {
BKE_object_free_derived_caches(ob);
+
+ if (ob->dup_group && (ob->transflag & OB_DUPLIGROUP)) {
+ GroupObject *go;
+ for (go = ob->dup_group->gobject.first; go; go = go->next) {
+ if (go->ob && go->ob->recalc) {
+ BKE_object_free_derived_caches(go->ob);
+ }
+ }
+ }
}
}
}
More information about the Bf-blender-cvs
mailing list