diff options
author | Antony Riakiotakis <kalast@gmail.com> | 2014-09-08 20:15:42 +0400 |
---|---|---|
committer | Antony Riakiotakis <kalast@gmail.com> | 2014-09-08 20:15:42 +0400 |
commit | d9ffc99e66d659ac887d801b9cc071b4c3f9b8ab (patch) | |
tree | d88e83b5a9edab115081641d26c811b6aa22296a /source/blender/makesrna/intern/makesrna.c | |
parent | 551ebaa3dd758bc1975548c28766bfa3159d3846 (diff) | |
parent | b1490e39dd1017e51984d8a34d226e869bbb25df (diff) |
Merge branch 'master' into soc-2014-viewport_fxsoc-2014-viewport_fx
I have resolved some differences, for instance selection code which was more or less a stub, to be
the same as master. This will have to be fixed later.
Conflicts:
CMakeLists.txt
intern/ghost/CMakeLists.txt
intern/ghost/intern/GHOST_SystemWin32.cpp
intern/ghost/intern/GHOST_Window.cpp
intern/ghost/intern/GHOST_WindowWin32.cpp
intern/ghost/intern/GHOST_WindowX11.cpp
source/blender/blenlib/BLI_math_matrix.h
source/blender/blenlib/intern/math_matrix.c
source/blender/gpu/CMakeLists.txt
source/blender/gpu/GPU_select.h
source/blender/gpu/intern/gpu_buffers.c
source/blender/gpu/intern/gpu_draw.c
source/blender/gpu/intern/gpu_extensions.c
source/blender/gpu/intern/gpu_select.c
source/blender/gpu/shaders/gpu_shader_simple_vert.glsl
source/blender/nodes/CMakeLists.txt
Diffstat (limited to 'source/blender/makesrna/intern/makesrna.c')
-rw-r--r-- | source/blender/makesrna/intern/makesrna.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/source/blender/makesrna/intern/makesrna.c b/source/blender/makesrna/intern/makesrna.c index 7f1f04cdb6a..9023f25e3d5 100644 --- a/source/blender/makesrna/intern/makesrna.c +++ b/source/blender/makesrna/intern/makesrna.c @@ -745,6 +745,24 @@ static void rna_clamp_value_range(FILE *f, PropertyRNA *prop) } } +#ifdef USE_RNA_RANGE_CHECK +static void rna_clamp_value_range_check( + FILE *f, PropertyRNA *prop, + const char *dnaname_prefix, const char *dnaname) +{ + if (prop->type == PROP_INT) { + IntPropertyRNA *iprop = (IntPropertyRNA *)prop; + fprintf(f, + " { BLI_STATIC_ASSERT(" + "(TYPEOF_MAX(%s%s) >= %d) && " + "(TYPEOF_MIN(%s%s) <= %d), " + "\"invalid limits\"); }\n", + dnaname_prefix, dnaname, iprop->hardmax, + dnaname_prefix, dnaname, iprop->hardmin); + } +} +#endif /* USE_RNA_RANGE_CHECK */ + static void rna_clamp_value(FILE *f, PropertyRNA *prop, int array) { if (prop->type == PROP_INT) { @@ -944,6 +962,18 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr } fprintf(f, " }\n"); } + +#ifdef USE_RNA_RANGE_CHECK + if (dp->dnaname && manualfunc == NULL) { + if (dp->dnaarraylength == 1) { + rna_clamp_value_range_check(f, prop, "data->", dp->dnaname); + } + else { + rna_clamp_value_range_check(f, prop, "*data->", dp->dnaname); + } + } +#endif + fprintf(f, "}\n\n"); } else { @@ -975,6 +1005,13 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr rna_clamp_value(f, prop, 0); } } + +#ifdef USE_RNA_RANGE_CHECK + if (dp->dnaname && manualfunc == NULL) { + rna_clamp_value_range_check(f, prop, "data->", dp->dnaname); + } +#endif + fprintf(f, "}\n\n"); } break; |