[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54017] trunk/blender/source/blender/ modifiers/intern/MOD_boolean.c: workaround [#32866] Crash by cyclic use of Boolean Modifier

Campbell Barton ideasman42 at gmail.com
Wed Jan 23 06:42:49 CET 2013


Revision: 54017
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54017
Author:   campbellbarton
Date:     2013-01-23 05:42:45 +0000 (Wed, 23 Jan 2013)
Log Message:
-----------
workaround [#32866] Crash by cyclic use of Boolean Modifier

officially - modifiers shouldn't calc other objects derived mesh, but in some cases its needed at the moment for certain scenes, so just disallow booleans depending on booleans.

Modified Paths:
--------------
    trunk/blender/source/blender/modifiers/intern/MOD_boolean.c

Modified: trunk/blender/source/blender/modifiers/intern/MOD_boolean.c
===================================================================
--- trunk/blender/source/blender/modifiers/intern/MOD_boolean.c	2013-01-23 04:55:34 UTC (rev 54016)
+++ trunk/blender/source/blender/modifiers/intern/MOD_boolean.c	2013-01-23 05:42:45 UTC (rev 54017)
@@ -135,7 +135,13 @@
 	 * in some cases the depsgraph fails us - especially for objects
 	 * in other scenes when compositing */
 	if (bmd->object != ob) {
-		dm = mesh_get_derived_final(md->scene, bmd->object, CD_MASK_MESH);
+		/* weak! - but we can too easy end up with circular dep crash otherwise */
+		if (modifiers_findByType(bmd->object, eModifierType_Boolean) == false) {
+			dm = mesh_get_derived_final(md->scene, bmd->object, CD_MASK_MESH);
+		}
+		else {
+			dm = bmd->object->derivedFinal;
+		}
 	}
 	else {
 		dm = NULL;




More information about the Bf-blender-cvs mailing list