[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [46729] trunk/blender/source/blender/ blenkernel/intern/displist.c: Fix [#31495] Modifiers in Text objects don' t respect edit mode flag.

Bastien Montagne montagne29 at wanadoo.fr
Thu May 17 15:22:19 CEST 2012


Revision: 46729
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46729
Author:   mont29
Date:     2012-05-17 13:22:19 +0000 (Thu, 17 May 2012)
Log Message:
-----------
Fix [#31495] Modifiers in Text objects don't respect edit mode flag.

Need to also check for cu->editfont for text edit mode...

Also use modifier_isEnabled() to make general tests whether a modifier should be applied or skipped.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/displist.c

Modified: trunk/blender/source/blender/blenkernel/intern/displist.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/displist.c	2012-05-17 13:15:58 UTC (rev 46728)
+++ trunk/blender/source/blender/blenkernel/intern/displist.c	2012-05-17 13:22:19 UTC (rev 46729)
@@ -752,7 +752,7 @@
 	Curve *cu = ob->data;
 	ListBase *nurb = BKE_curve_nurbs_get(cu);
 	int numVerts = 0;
-	const int editmode = (!forRender && cu->editnurb);
+	const int editmode = (!forRender && (cu->editnurb || cu->editfont));
 	ModifierApplyFlag app_flag = 0;
 	float (*originalVerts)[3] = NULL;
 	float (*deformedVerts)[3] = NULL;
@@ -793,10 +793,8 @@
 
 			md->scene = scene;
 
-			if ((md->mode & required_mode) != required_mode)
+			if (!modifier_isEnabled(scene, md, required_mode))
 				continue;
-			if (mti->isDisabled && mti->isDisabled(md, forRender))
-				continue;
 			if (mti->type != eModifierTypeType_OnlyDeform)
 				continue;
 
@@ -867,7 +865,7 @@
 	Curve *cu = ob->data;
 	ListBase *nurb = BKE_curve_nurbs_get(cu);
 	int required_mode = 0, totvert = 0;
-	int editmode = (!forRender && cu->editnurb);
+	int editmode = (!forRender && (cu->editnurb || cu->editfont));
 	DerivedMesh *dm = NULL, *ndm;
 	float (*vertCos)[3] = NULL;
 	int useCache = !forRender;
@@ -899,10 +897,8 @@
 
 		md->scene = scene;
 
-		if ((md->mode & required_mode) != required_mode)
+		if (!modifier_isEnabled(scene, md, required_mode))
 			continue;
-		if (mti->isDisabled && mti->isDisabled(md, forRender))
-			continue;
 
 		if (mti->type == eModifierTypeType_OnlyDeform ||
 		    (mti->type == eModifierTypeType_DeformOrConstruct && !dm)) {
@@ -1095,7 +1091,7 @@
 	ModifierData *pretessellatePoint;
 	Curve *cu = ob->data;
 	int required_mode;
-	int editmode = (!forRender && cu->editnurb);
+	int editmode = (!forRender && (cu->editnurb || cu->editfont));
 	DerivedMesh *ndm, *orcodm = NULL;
 	const ModifierApplyFlag app_flag = forRender ? MOD_APPLY_RENDER : 0;
 
@@ -1118,10 +1114,8 @@
 
 		md->scene = scene;
 
-		if ((md->mode & required_mode) != required_mode)
+		if (!modifier_isEnabled(scene, md, required_mode))
 			continue;
-		if (mti->isDisabled && mti->isDisabled(md, forRender))
-			continue;
 		if (mti->type != eModifierTypeType_Constructive)
 			continue;
 




More information about the Bf-blender-cvs mailing list