diff options
author | Julian Eisel <eiseljulian@gmail.com> | 2020-02-19 22:45:58 +0300 |
---|---|---|
committer | Julian Eisel <eiseljulian@gmail.com> | 2020-02-19 22:45:58 +0300 |
commit | 03a4d3c33f824f966675dbb8fe3b4d645dc88f42 (patch) | |
tree | ff2f0d58f7aab840f1e56ad0f29f5f81b4d11c32 /source/blender/makesrna/intern/rna_define.c | |
parent | e37988fa2131f989056ee43c1efaeeae2ab5d08c (diff) |
RNA: Fail makesrna if enum identifiers contain spaces
We could of course always add checks for more invalid characters, but
I'd say they are more unlikely to happen.
Diffstat (limited to 'source/blender/makesrna/intern/rna_define.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_define.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/source/blender/makesrna/intern/rna_define.c b/source/blender/makesrna/intern/rna_define.c index 73a59cbba11..4150daa0f63 100644 --- a/source/blender/makesrna/intern/rna_define.c +++ b/source/blender/makesrna/intern/rna_define.c @@ -1832,8 +1832,18 @@ void RNA_def_property_enum_items(PropertyRNA *prop, const EnumPropertyItem *item for (i = 0; item[i].identifier; i++) { eprop->totitem++; - if (item[i].identifier[0] && item[i].value == eprop->defaultvalue) { - defaultfound = 1; + if (item[i].identifier[0]) { + if (strstr(item[i].identifier, " ")) { + CLOG_ERROR(&LOG, + "\"%s.%s\", enum identifiers must not contain spaces.", + srna->identifier, + prop->identifier); + DefRNA.error = 1; + break; + } + else if (item[i].value == eprop->defaultvalue) { + defaultfound = 1; + } } } |