[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41137] trunk/blender/source/blender/ editors/interface/interface_templates.c: fix [#28902] Rendering and visibility icons in modifier panel move between clicks

Campbell Barton ideasman42 at gmail.com
Thu Oct 20 10:12:39 CEST 2011


Revision: 41137
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41137
Author:   campbellbarton
Date:     2011-10-20 08:12:39 +0000 (Thu, 20 Oct 2011)
Log Message:
-----------
fix [#28902] Rendering and visibility icons in modifier panel move between clicks

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/interface_templates.c

Modified: trunk/blender/source/blender/editors/interface/interface_templates.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_templates.c	2011-10-20 08:03:29 UTC (rev 41136)
+++ trunk/blender/source/blender/editors/interface/interface_templates.c	2011-10-20 08:12:39 UTC (rev 41137)
@@ -759,18 +759,28 @@
 			if (mti->flags & eModifierTypeFlag_SupportsEditmode)
 				uiItemR(row, &ptr, "show_in_editmode", 0, "", ICON_NONE);
 		}
-		if ((ob->type==OB_MESH) && modifier_couldBeCage(scene, md) && (index <= lastCageIndex)) 
-		{
-			/* -- convert to rna ? */
-			but = uiDefIconButBitI(block, TOG, eModifierMode_OnCage, 0, ICON_MESH_DATA, 0, 0, UI_UNIT_X-2, UI_UNIT_Y, &md->mode, 0.0, 0.0, 0.0, 0.0,
-					UI_translate_do_tooltip(N_("Apply modifier to editing cage during Editmode")));
-			if (index < cageIndex)
+
+		if (ob->type==OB_MESH) {
+			if (modifier_couldBeCage(scene, md) && (index <= lastCageIndex))
+			{
+				/* -- convert to rna ? */
+				but = uiDefIconButBitI(block, TOG, eModifierMode_OnCage, 0, ICON_MESH_DATA, 0, 0, UI_UNIT_X-2, UI_UNIT_Y, &md->mode, 0.0, 0.0, 0.0, 0.0,
+						UI_translate_do_tooltip(N_("Apply modifier to editing cage during Editmode")));
+				if (index < cageIndex)
+					uiButSetFlag(but, UI_BUT_DISABLED);
+				uiButSetFunc(but, modifiers_setOnCage, ob, md);
+			}
+			else {
+				uiBlockEndAlign(block);
+
+				/* place holder button */
+				uiBlockSetEmboss(block, UI_EMBOSSN);
+				but= uiDefIconBut(block, BUT, 0, ICON_NONE, 0, 0, UI_UNIT_X-2, UI_UNIT_Y, NULL, 0.0, 0.0, 0.0, 0.0, NULL);
 				uiButSetFlag(but, UI_BUT_DISABLED);
-			uiButSetFunc(but, modifiers_setOnCage, ob, md);
-		}
-
-		/* tesselation point for curve-typed objects */
-		if (ELEM3(ob->type, OB_CURVE, OB_SURF, OB_FONT)) {
+				uiBlockSetEmboss(block, UI_EMBOSS);
+			}
+		} /* tesselation point for curve-typed objects */
+		else if (ELEM3(ob->type, OB_CURVE, OB_SURF, OB_FONT)) {
 			/* some modifiers could work with pre-tesselated curves only */
 			if (ELEM3(md->type, eModifierType_Hook, eModifierType_Softbody, eModifierType_MeshDeform)) {
 				/* add disabled pre-tesselated button, so users could have




More information about the Bf-blender-cvs mailing list