[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58886] trunk/blender/source: avoid runtime overflow (1 << 31), for RNA and armature layer UI.
Campbell Barton
ideasman42 at gmail.com
Sun Aug 4 02:01:42 CEST 2013
Revision: 58886
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58886
Author: campbellbarton
Date: 2013-08-04 00:01:41 +0000 (Sun, 04 Aug 2013)
Log Message:
-----------
avoid runtime overflow (1 << 31), for RNA and armature layer UI.
Modified Paths:
--------------
trunk/blender/source/blender/editors/interface/interface_layout.c
trunk/blender/source/blender/makesrna/intern/makesrna.c
trunk/blender/source/gameengine/Ketsji/KX_MeshProxy.cpp
Modified: trunk/blender/source/blender/editors/interface/interface_layout.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_layout.c 2013-08-03 23:58:17 UTC (rev 58885)
+++ trunk/blender/source/blender/editors/interface/interface_layout.c 2013-08-04 00:01:41 UTC (rev 58886)
@@ -355,7 +355,7 @@
PropertyType type;
PropertySubType subtype;
uiLayout *sub;
- int a, b;
+ unsigned int a, b;
/* retrieve type and subtype */
type = RNA_property_type(prop);
@@ -373,8 +373,8 @@
/* special check for layer layout */
int butw, buth, unit;
int cols = (len >= 20) ? 2 : 1;
- int colbuts = len / (2 * cols);
- int layer_used = 0;
+ const unsigned int colbuts = len / (2 * cols);
+ unsigned int layer_used = 0;
uiBlockSetCurLayout(block, uiLayoutAbsolute(layout, FALSE));
Modified: trunk/blender/source/blender/makesrna/intern/makesrna.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/makesrna.c 2013-08-03 23:58:17 UTC (rev 58885)
+++ trunk/blender/source/blender/makesrna/intern/makesrna.c 2013-08-04 00:01:41 UTC (rev 58886)
@@ -646,13 +646,14 @@
if (prop->flag & PROP_DYNAMIC) {
char *lenfunc = rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier),
"get_length");
- fprintf(f, " int i, arraylen[RNA_MAX_ARRAY_DIMENSION];\n");
- fprintf(f, " int len = %s(ptr, arraylen);\n\n", lenfunc);
+ fprintf(f, " unsigned int arraylen[RNA_MAX_ARRAY_DIMENSION];\n");
+ fprintf(f, " unsigned int i;\n");
+ fprintf(f, " unsigned int len = %s(ptr, arraylen);\n\n", lenfunc);
fprintf(f, " for (i = 0; i < len; i++) {\n");
MEM_freeN(lenfunc);
}
else {
- fprintf(f, " int i;\n\n");
+ fprintf(f, " unsigned int i;\n\n");
fprintf(f, " for (i = 0; i < %u; i++) {\n", prop->totarraylength);
}
Modified: trunk/blender/source/gameengine/Ketsji/KX_MeshProxy.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_MeshProxy.cpp 2013-08-03 23:58:17 UTC (rev 58885)
+++ trunk/blender/source/gameengine/Ketsji/KX_MeshProxy.cpp 2013-08-04 00:01:41 UTC (rev 58886)
@@ -387,16 +387,13 @@
for (i=0; i<tot; mit++, i++) {
- RAS_IPolyMaterial *polymat = mit->m_bucket->GetPolyMaterial();
-
- /* Why do we need to check for RAS_BLENDERMAT if both are cast to a (PyObject *)? - Campbell */
- if (polymat->GetFlag() & RAS_BLENDERMAT)
- {
- KX_BlenderMaterial *mat = static_cast<KX_BlenderMaterial*>(polymat);
+ RAS_IPolyMaterial *polymat = mit->m_bucket->GetPolyMaterial();
+ if (polymat->GetFlag() & RAS_BLENDERMAT) {
+ KX_BlenderMaterial *mat = static_cast<KX_BlenderMaterial *>(polymat);
PyList_SET_ITEM(materials, i, mat->GetProxy());
}
else {
- KX_PolygonMaterial *mat = static_cast<KX_PolygonMaterial*>(polymat);
+ KX_PolygonMaterial *mat = static_cast<KX_PolygonMaterial *>(polymat);
PyList_SET_ITEM(materials, i, mat->GetProxy());
}
}
More information about the Bf-blender-cvs
mailing list