PyRNA: support separators in enum-items lists
authorCampbell Barton <ideasman42@gmail.com>
Mon, 5 Aug 2019 13:10:44 +0000 (23:10 +1000)
committerCampbell Barton <ideasman42@gmail.com>
Mon, 5 Aug 2019 13:10:44 +0000 (23:10 +1000)
Resolves T68260

source/blender/python/intern/bpy_props.c

index 50c61dd00611e7d692b69c19e644be95aac1dc79..70bfa76e3443ef437f7b14feb48c42f69b6396fc 100644 (file)
@@ -1505,6 +1505,10 @@ static const EnumPropertyItem *enum_items_from_py(PyObject *seq_fast,
       /* calculate combine string length */
       totbuf += id_str_size + name_str_size + desc_str_size + 3; /* 3 is for '\0's */
     }
+    else if (item == Py_None) {
+      /* Only set since the rest is cleared. */
+      items[i].identifier = "";
+    }
     else {
       MEM_freeN(items);
       PyErr_SetString(PyExc_TypeError,
@@ -2979,6 +2983,8 @@ PyDoc_STRVAR(
     "      When an item only contains 4 items they define ``(identifier, name, description, "
     "number)``.\n"
     "\n"
+    "      Separators may be added using None instead of a tuple."
+    "\n"
     "      For dynamic values a callback can be passed which returns a list in\n"
     "      the same format as the static list.\n"
     "      This function must take 2 arguments ``(self, context)``, **context may be None**.\n"