Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2013-08-04 04:01:41 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-08-04 04:01:41 +0400
commit5881fe5d679b38eb40b59c1af3bc3db88a53f35d (patch)
tree38e130faf7aee14f0017545af15c637a45a86778 /source
parentdd037a85a02b9344045c6f4cb8ff792827b69eff (diff)
avoid runtime overflow (1 << 31), for RNA and armature layer UI.
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/interface/interface_layout.c6
-rw-r--r--source/blender/makesrna/intern/makesrna.c7
-rw-r--r--source/gameengine/Ketsji/KX_MeshProxy.cpp11
3 files changed, 11 insertions, 13 deletions
diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c
index 2e80af1b3ad..079ba97aa9d 100644
--- a/source/blender/editors/interface/interface_layout.c
+++ b/source/blender/editors/interface/interface_layout.c
@@ -355,7 +355,7 @@ static void ui_item_array(uiLayout *layout, uiBlock *block, const char *name, in
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 @@ static void ui_item_array(uiLayout *layout, uiBlock *block, const char *name, in
/* 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));
diff --git a/source/blender/makesrna/intern/makesrna.c b/source/blender/makesrna/intern/makesrna.c
index f382caaccba..5237c97ef71 100644
--- a/source/blender/makesrna/intern/makesrna.c
+++ b/source/blender/makesrna/intern/makesrna.c
@@ -646,13 +646,14 @@ static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *pr
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);
}
diff --git a/source/gameengine/Ketsji/KX_MeshProxy.cpp b/source/gameengine/Ketsji/KX_MeshProxy.cpp
index 8e803c46358..f7cd13acf27 100644
--- a/source/gameengine/Ketsji/KX_MeshProxy.cpp
+++ b/source/gameengine/Ketsji/KX_MeshProxy.cpp
@@ -387,16 +387,13 @@ PyObject *KX_MeshProxy::pyattr_get_materials(void *self_v, const KX_PYATTRIBUTE_
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());
}
}