[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23657] trunk/blender/source/blender/ editors/sculpt_paint/sculpt.c: sculpt was checking if multires was the last modifier,

Campbell Barton ideasman42 at gmail.com
Tue Oct 6 13:21:57 CEST 2009


Revision: 23657
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23657
Author:   campbellbarton
Date:     2009-10-06 13:21:57 +0200 (Tue, 06 Oct 2009)

Log Message:
-----------
sculpt was checking if multires was the last modifier,
instead check if its the last displayed modifier

Modified Paths:
--------------
    trunk/blender/source/blender/editors/sculpt_paint/sculpt.c

Modified: trunk/blender/source/blender/editors/sculpt_paint/sculpt.c
===================================================================
--- trunk/blender/source/blender/editors/sculpt_paint/sculpt.c	2009-10-06 10:52:14 UTC (rev 23656)
+++ trunk/blender/source/blender/editors/sculpt_paint/sculpt.c	2009-10-06 11:21:57 UTC (rev 23657)
@@ -1099,8 +1099,18 @@
 	ModifierData *md;
 	
 	for(md= modifiers_getVirtualModifierList(ob); md; md= md->next) {
-		if(md->type == eModifierType_Multires && !md->next) {
-			MultiresModifierData *mmd = (MultiresModifierData*)md;
+		if(md->type == eModifierType_Multires) {
+			MultiresModifierData *mmd;
+
+			/* Check if any of the modifiers after multires are active
+			 * if not it can use the multires struct */
+			ModifierData *md_next;
+			for (md_next= md->next; md_next; md_next= md_next->next) {
+				if(md_next->mode & eModifierMode_Realtime)
+					return NULL;
+			}
+
+			mmd = (MultiresModifierData*)md;
 			if(mmd->lvl != 1)
 				return mmd;
 		}





More information about the Bf-blender-cvs mailing list