RNA: existing type check used wrong identifier
authorCampbell Barton <ideasman42@gmail.com>
Thu, 31 Aug 2017 08:42:48 +0000 (18:42 +1000)
committerCampbell Barton <ideasman42@gmail.com>
Thu, 31 Aug 2017 08:45:00 +0000 (18:45 +1000)
Own error in recent type checks, in many cases the 'idname'
is used for the struct identifier, not the 'identifier'
which is the Python class name in this context.

source/blender/makesrna/intern/rna_animation.c
source/blender/makesrna/intern/rna_nodetree.c
source/blender/makesrna/intern/rna_render.c
source/blender/makesrna/intern/rna_ui.c
source/blender/makesrna/intern/rna_wm.c

index b0a51fd8c73d148262eb9d3c5f3777f7ba340f0d..cc3c140c5c60d6ade74e5c0e9e43866836f9518c 100644 (file)
@@ -273,7 +273,7 @@ static StructRNA *rna_KeyingSetInfo_register(Main *bmain, ReportList *reports, v
        if (ksi && ksi->ext.srna) {
                rna_KeyingSetInfo_unregister(bmain, ksi->ext.srna);
        }
-       if (!RNA_struct_available_or_report(reports, identifier)) {
+       if (!RNA_struct_available_or_report(reports, dummyksi.idname)) {
                return NULL;
        }
 
index f15605d0f83f2741de1543b83f1beec85ccf1e32..1c7d7816f0ff6d6db4cde94fc3b992c7f797969c 100644 (file)
@@ -633,7 +633,7 @@ static StructRNA *rna_NodeTree_register(
        if (nt) {
                rna_NodeTree_unregister(bmain, nt->ext.srna);
        }
-       if (!RNA_struct_available_or_report(reports, identifier)) {
+       if (!RNA_struct_available_or_report(reports, dummynt.idname)) {
                return NULL;
        }
 
@@ -1393,16 +1393,13 @@ static bNodeType *rna_Node_register_base(Main *bmain, ReportList *reports, Struc
                            identifier, (int)sizeof(dummynt.idname));
                return NULL;
        }
-       if (!RNA_struct_available_or_report(reports, identifier)) {
-               return NULL;
-       }
 
        /* check if we have registered this node type before, and remove it */
        nt = nodeTypeFind(dummynt.idname);
        if (nt) {
                rna_Node_unregister(bmain, nt->ext.srna);
        }
-       if (!RNA_struct_available_or_report(reports, identifier)) {
+       if (!RNA_struct_available_or_report(reports, dummynt.idname)) {
                return NULL;
        }
        
index 0c0484e633b5f24411d95b62c6632320a4120980..360b8831f8c646197de17f5f059f7456b7cc4f68 100644 (file)
@@ -321,7 +321,7 @@ static StructRNA *rna_RenderEngine_register(Main *bmain, ReportList *reports, vo
                        break;
                }
        }
-       if (!RNA_struct_available_or_report(reports, identifier)) {
+       if (!RNA_struct_available_or_report(reports, dummyet.idname)) {
                return NULL;
        }
        
index 0fc0739f86045f224f3544154c8301ffcb764d08..84e446ef330a2d45d6c6715587e13c6001be2465 100644 (file)
@@ -229,7 +229,7 @@ static StructRNA *rna_Panel_register(Main *bmain, ReportList *reports, void *dat
                        break;
                }
        }
-       if (!RNA_struct_available_or_report(reports, identifier)) {
+       if (!RNA_struct_available_or_report(reports, dummypt.idname)) {
                return NULL;
        }
        
@@ -494,7 +494,7 @@ static StructRNA *rna_UIList_register(Main *bmain, ReportList *reports, void *da
        if (ult && ult->ext.srna) {
                rna_UIList_unregister(bmain, ult->ext.srna);
        }
-       if (!RNA_struct_available_or_report(reports, identifier)) {
+       if (!RNA_struct_available_or_report(reports, dummyult.idname)) {
                return NULL;
        }
 
@@ -599,7 +599,7 @@ static StructRNA *rna_Header_register(Main *bmain, ReportList *reports, void *da
                        break;
                }
        }
-       if (!RNA_struct_available_or_report(reports, identifier)) {
+       if (!RNA_struct_available_or_report(reports, dummyht.idname)) {
                return NULL;
        }
        
@@ -725,7 +725,7 @@ static StructRNA *rna_Menu_register(Main *bmain, ReportList *reports, void *data
        if (mt && mt->ext.srna) {
                rna_Menu_unregister(bmain, mt->ext.srna);
        }
-       if (!RNA_struct_available_or_report(reports, identifier)) {
+       if (!RNA_struct_available_or_report(reports, dummymt.idname)) {
                return NULL;
        }
        
index 2114c22b428d23cc5d78b4833239fa82e27c2e99..8547c50f78e4cb311487b55a5b4e277996cc0929 100644 (file)
@@ -1157,15 +1157,17 @@ static StructRNA *rna_Operator_register(
        if (!RNA_struct_available_or_report(reports, identifier)) {
                return NULL;
        }
-       if (!WM_operator_py_idname_ok_or_report(reports, identifier, temp_buffers.idname)) {
+
+       char idname_conv[sizeof(dummyop.idname)];
+       WM_operator_bl_idname(idname_conv, temp_buffers.idname); /* convert the idname from python */
+
+       if (!WM_operator_py_idname_ok_or_report(reports, idname_conv, temp_buffers.idname)) {
                return NULL;
        }
 
        /* Convert foo.bar to FOO_OT_bar
         * allocate all strings at once. */
        {
-               char idname_conv[sizeof(dummyop.idname)];
-               WM_operator_bl_idname(idname_conv, temp_buffers.idname); /* convert the idname from python */
                const char *strings[] = {
                        idname_conv,
                        temp_buffers.name,
@@ -1292,18 +1294,21 @@ static StructRNA *rna_MacroOperator_register(
                if (ot && ot->ext.srna)
                        rna_Operator_unregister(bmain, ot->ext.srna);
        }
-       if (!RNA_struct_available_or_report(reports, identifier)) {
+
+       if (!WM_operator_py_idname_ok_or_report(reports, identifier, temp_buffers.idname)) {
                return NULL;
        }
-       if (!WM_operator_py_idname_ok_or_report(reports, identifier, temp_buffers.idname)) {
+
+       char idname_conv[sizeof(dummyop.idname)];
+       WM_operator_bl_idname(idname_conv, temp_buffers.idname); /* convert the idname from python */
+
+       if (!RNA_struct_available_or_report(reports, idname_conv)) {
                return NULL;
        }
 
        /* Convert foo.bar to FOO_OT_bar
         * allocate all strings at once. */
        {
-               char idname_conv[sizeof(dummyop.idname)];
-               WM_operator_bl_idname(idname_conv, temp_buffers.idname); /* convert the idname from python */
                const char *strings[] = {
                        idname_conv,
                        temp_buffers.name,