From 4db1db327a0613abee950ffe12b013afdec2c111 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 12 Jul 2016 12:23:48 +1000 Subject: readfile: report SDNA decoding errors on file read This was printed to the stdout, however the error case wasn't checked or well supported. Also, errors decoding SDNA would sometimes call exit(1). --- source/blender/makesrna/intern/rna_define.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'source/blender/makesrna/intern/rna_define.c') diff --git a/source/blender/makesrna/intern/rna_define.c b/source/blender/makesrna/intern/rna_define.c index bf2b091576e..7ff4eaea169 100644 --- a/source/blender/makesrna/intern/rna_define.c +++ b/source/blender/makesrna/intern/rna_define.c @@ -531,12 +531,18 @@ BlenderRNA *RNA_create(void) BlenderRNA *brna; brna = MEM_callocN(sizeof(BlenderRNA), "BlenderRNA"); + const char *error_message = NULL; - DefRNA.sdna = DNA_sdna_from_data(DNAstr, DNAlen, false, false); BLI_listbase_clear(&DefRNA.structs); DefRNA.error = 0; DefRNA.preprocess = 1; + DefRNA.sdna = DNA_sdna_from_data(DNAstr, DNAlen, false, false, &error_message); + if (DefRNA.sdna == NULL) { + fprintf(stderr, "Error decoding SDNA: %s\n", error_message); + DefRNA.error = 1; + } + return brna; } -- cgit v1.2.3