diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-08-23 07:59:14 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-08-23 08:02:21 +0300 |
commit | 1e60ac33949ae533857fc6a48ce5fbc2402dd060 (patch) | |
tree | f3653899ca70880ec4c5b8438c15d16e85e60147 /source/blender/makesrna/intern/rna_userdef.c | |
parent | 4761dea573f6fa9a57150596098c17f723d3a49f (diff) |
RNA: report error on struct naming collision
Fixes T52463, error instead of crash.
Diffstat (limited to 'source/blender/makesrna/intern/rna_userdef.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_userdef.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c index 19a25b4df11..3ecacd11a5c 100644 --- a/source/blender/makesrna/intern/rna_userdef.c +++ b/source/blender/makesrna/intern/rna_userdef.c @@ -638,10 +638,11 @@ static StructRNA *rna_AddonPref_register(Main *bmain, ReportList *reports, void /* check if we have registered this header type before, and remove it */ apt = BKE_addon_pref_type_find(dummyaddon.module, true); - if (apt) { - if (apt->ext.srna) { - rna_AddonPref_unregister(bmain, apt->ext.srna); - } + if (apt && apt->ext.srna) { + rna_AddonPref_unregister(bmain, apt->ext.srna); + } + if (!RNA_struct_available_or_report(reports, identifier)) { + return NULL; } /* create a new header type */ |