Fix T45051: Curve parent bug.
authorBastien Montagne <montagne29@wanadoo.fr>
Tue, 23 Jun 2015 15:35:55 +0000 (17:35 +0200)
committerBastien Montagne <montagne29@wanadoo.fr>
Tue, 23 Jun 2015 15:35:55 +0000 (17:35 +0200)
PARCURVE is deprecated parting type, should never have been exposed to user!

Not a regression, but safe enough for final 2.75 imho.

source/blender/editors/include/ED_object.h
source/blender/editors/object/object_relations.c
source/blender/makesdna/DNA_object_types.h
source/blender/makesrna/intern/rna_object.c

index 43f1757a66d7fe24655e7da2dfdd130ccbd14b92..c62bdc1ba87255ae886f99422ae489aa17965743 100644 (file)
@@ -77,7 +77,7 @@ typedef enum eParentType {
        PAR_PATH_CONST,
        PAR_LATTICE,
        PAR_VERTEX,
-       PAR_VERTEX_TRI
+       PAR_VERTEX_TRI,
 } eParentType;
 
 #ifdef __RNA_TYPES_H__
index 19648c291f77446115c6a8138df36c0bd0f1532d..c2d2bffbbe5bc5b932b73a3d0a768b5e1dfd2737 100644 (file)
@@ -571,6 +571,9 @@ void ED_object_parent(Object *ob, Object *par, const int type, const char *subst
                return;
        }
 
+       /* Other partypes are deprecated, do not use here! */
+       BLI_assert(ELEM(type & PARTYPE, PAROBJECT, PARSKEL, PARVERT1, PARVERT3, PARBONE));
+
        /* this could use some more checks */
 
        ob->parent = par;
index 50f94aa09e5ac9a3893a6e56bfb21df67f11eee5..978a97f4b49e37aaaccb862fe4d73e44f53ffafa 100644 (file)
@@ -378,8 +378,8 @@ enum {
 enum {
        PARTYPE       = (1 << 4) - 1,
        PAROBJECT     = 0,
-       PARCURVE      = 1,
-       PARKEY        = 2,
+       PARCURVE      = 1,  /* Deprecated. */
+       PARKEY        = 2,  /* XXX Unused, deprecated? */
 
        PARSKEL       = 4,
        PARVERT1      = 5,
index c6a6136d90dc710af86c733ca5d491d9d43abaf6..3113b702dadb325c522ce5b4cd062b7aaf86de79 100644 (file)
@@ -87,8 +87,6 @@ EnumPropertyItem object_empty_drawtype_items[] = {
 
 static EnumPropertyItem parent_type_items[] = {
        {PAROBJECT, "OBJECT", 0, "Object", "The object is parented to an object"},
-       {PARCURVE, "CURVE", 0, "Curve", "The object is parented to a curve"},
-       {PARKEY, "KEY", 0, "Key", ""},
        {PARSKEL, "ARMATURE", 0, "Armature", ""},
        {PARSKEL, "LATTICE", 0, "Lattice", "The object is parented to a lattice"}, /* PARSKEL reuse will give issues */
        {PARVERT1, "VERTEX", 0, "Vertex", "The object is parented to a vertex"},
@@ -467,10 +465,7 @@ static EnumPropertyItem *rna_Object_parent_type_itemf(bContext *UNUSED(C), Point
        if (ob->parent) {
                Object *par = ob->parent;
                
-               if (par->type == OB_CURVE) {
-                       RNA_enum_items_add_value(&item, &totitem, parent_type_items, PARCURVE);
-               }
-               else if (par->type == OB_LATTICE) {
+               if (par->type == OB_LATTICE) {
                        /* special hack: prevents this overriding others */
                        RNA_enum_items_add_value(&item, &totitem, &parent_type_items[4], PARSKEL);
                }