diff options
author | Jacques Lucke <mail@jlucke.com> | 2019-08-23 10:52:12 +0300 |
---|---|---|
committer | Jacques Lucke <mail@jlucke.com> | 2019-08-23 10:52:12 +0300 |
commit | a1aa4a259713f26c32a5fac4adbe0751e0479f5b (patch) | |
tree | 0737940d32513ad8e2458760c81ad7c1c61e1ce6 /source/blender/makesrna/intern/rna_armature.c | |
parent | 232049dd9408e15d2082181e60ddd775b375ff19 (diff) |
RNA: Cleanup PointerRNA struct
The old layout of `PointerRNA` was confusing for historic reasons:
```
typedef struct PointerRNA {
struct {
void *data;
} id;
struct StructRNA *type;
void *data;
} PointerRNA;
```
This patch updates it to:
```
typedef struct PointerRNA {
struct ID *owner_id;
struct StructRNA *type;
void *data;
} PointerRNA;
```
Throughout the code base `id.data` was replaced with `owner_id`.
Furthermore, many explicit pointer type casts were added which
were implicit before. Some type casts to `ID *` were removed.
Reviewers: brecht, campbellbarton
Differential Revision: https://developer.blender.org/D5558
Diffstat (limited to 'source/blender/makesrna/intern/rna_armature.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_armature.c | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/source/blender/makesrna/intern/rna_armature.c b/source/blender/makesrna/intern/rna_armature.c index c0e3404f78c..d3bdcf03d4d 100644 --- a/source/blender/makesrna/intern/rna_armature.c +++ b/source/blender/makesrna/intern/rna_armature.c @@ -50,7 +50,7 @@ static void rna_Armature_update_data(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr) { - ID *id = ptr->id.data; + ID *id = ptr->owner_id; DEG_id_tag_update(id, 0); WM_main_add_notifier(NC_GEOM | ND_DATA, id); @@ -59,7 +59,7 @@ static void rna_Armature_update_data(Main *UNUSED(bmain), Scene *UNUSED(scene), static void rna_Armature_dependency_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr) { - ID *id = ptr->id.data; + ID *id = ptr->owner_id; DEG_relations_tag_update(bmain); @@ -73,12 +73,12 @@ static void rna_Armature_act_bone_set(PointerRNA *ptr, { bArmature *arm = (bArmature *)ptr->data; - if (value.id.data == NULL && value.data == NULL) { + if (value.owner_id == NULL && value.data == NULL) { arm->act_bone = NULL; } else { - if (value.id.data != arm) { - Object *ob = (Object *)value.id.data; + if (value.owner_id != &arm->id) { + Object *ob = (Object *)value.owner_id; if (GS(ob->id.name) != ID_OB || (ob->data != arm)) { printf("ERROR: armature set active bone - new active doesn't come from this armature\n"); @@ -97,11 +97,11 @@ static void rna_Armature_act_edit_bone_set(PointerRNA *ptr, { bArmature *arm = (bArmature *)ptr->data; - if (value.id.data == NULL && value.data == NULL) { + if (value.owner_id == NULL && value.data == NULL) { arm->act_edbone = NULL; } else { - if (value.id.data != arm) { + if (value.owner_id != &arm->id) { /* raise an error! */ } else { @@ -151,7 +151,7 @@ static void rna_Armature_edit_bone_remove(bArmature *arm, static void rna_Armature_update_layers(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr) { - bArmature *arm = ptr->id.data; + bArmature *arm = (bArmature *)ptr->owner_id; Object *ob; /* proxy lib exception, store it here so we can restore layers on file @@ -168,7 +168,7 @@ static void rna_Armature_update_layers(Main *bmain, Scene *UNUSED(scene), Pointe static void rna_Armature_redraw_data(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr) { - ID *id = ptr->id.data; + ID *id = ptr->owner_id; DEG_id_tag_update(id, ID_RECALC_COPY_ON_WRITE); WM_main_add_notifier(NC_GEOM | ND_DATA, id); @@ -177,7 +177,7 @@ static void rna_Armature_redraw_data(Main *UNUSED(bmain), Scene *UNUSED(scene), /* called whenever a bone is renamed */ static void rna_Bone_update_renamed(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr) { - ID *id = ptr->id.data; + ID *id = ptr->owner_id; /* redraw view */ WM_main_add_notifier(NC_GEOM | ND_DATA, id); @@ -188,7 +188,7 @@ static void rna_Bone_update_renamed(Main *UNUSED(bmain), Scene *UNUSED(scene), P static void rna_Bone_select_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr) { - ID *id = ptr->id.data; + ID *id = ptr->owner_id; /* 1) special updates for cases where rigs try to hook into armature drawing stuff * e.g. Mask Modifier - 'Armature' option @@ -225,7 +225,7 @@ static void rna_Bone_select_update(Main *UNUSED(bmain), Scene *UNUSED(scene), Po static char *rna_Bone_path(PointerRNA *ptr) { - ID *id = ptr->id.data; + ID *id = ptr->owner_id; Bone *bone = (Bone *)ptr->data; char name_esc[sizeof(bone->name) * 2]; @@ -295,7 +295,7 @@ static void rna_bone_layer_set(int *layer, const bool *values) static void rna_Bone_layer_set(PointerRNA *ptr, const bool *values) { - bArmature *arm = (bArmature *)ptr->id.data; + bArmature *arm = (bArmature *)ptr->owner_id; Bone *bone = (Bone *)ptr->data; rna_bone_layer_set(&bone->layer, values); @@ -331,7 +331,7 @@ static void rna_Armature_layer_set(PointerRNA *ptr, const bool *values) static void rna_EditBone_name_set(PointerRNA *ptr, const char *value) { - bArmature *arm = (bArmature *)ptr->id.data; + bArmature *arm = (bArmature *)ptr->owner_id; EditBone *ebone = (EditBone *)ptr->data; char oldname[sizeof(ebone->name)], newname[sizeof(ebone->name)]; @@ -345,7 +345,7 @@ static void rna_EditBone_name_set(PointerRNA *ptr, const char *value) static void rna_Bone_name_set(PointerRNA *ptr, const char *value) { - bArmature *arm = (bArmature *)ptr->id.data; + bArmature *arm = (bArmature *)ptr->owner_id; Bone *bone = (Bone *)ptr->data; char oldname[sizeof(bone->name)], newname[sizeof(bone->name)]; @@ -417,7 +417,7 @@ static void rna_EditBone_parent_set(PointerRNA *ptr, } else { /* within same armature */ - if (value.id.data != ptr->id.data) { + if (value.owner_id != ptr->owner_id) { return; } @@ -451,7 +451,7 @@ static void rna_EditBone_matrix_set(PointerRNA *ptr, const float *values) static void rna_Bone_bbone_handle_update(Main *bmain, Scene *scene, PointerRNA *ptr) { - bArmature *arm = (bArmature *)ptr->id.data; + bArmature *arm = (bArmature *)ptr->owner_id; Bone *bone = (Bone *)ptr->data; /* Update all users of this armature after changing B-Bone handles. */ @@ -483,7 +483,7 @@ static void rna_EditBone_bbone_prev_set(PointerRNA *ptr, EditBone *hbone = (EditBone *)value.data; /* Within the same armature? */ - if (hbone == NULL || value.id.data == ptr->id.data) { + if (hbone == NULL || value.owner_id == ptr->owner_id) { ebone->bbone_prev = hbone; } } @@ -496,7 +496,7 @@ static void rna_Bone_bbone_prev_set(PointerRNA *ptr, Bone *hbone = (Bone *)value.data; /* Within the same armature? */ - if (hbone == NULL || value.id.data == ptr->id.data) { + if (hbone == NULL || value.owner_id == ptr->owner_id) { bone->bbone_prev = hbone; } } @@ -515,7 +515,7 @@ static void rna_EditBone_bbone_next_set(PointerRNA *ptr, EditBone *hbone = (EditBone *)value.data; /* Within the same armature? */ - if (hbone == NULL || value.id.data == ptr->id.data) { + if (hbone == NULL || value.owner_id == ptr->owner_id) { ebone->bbone_next = hbone; } } @@ -528,14 +528,14 @@ static void rna_Bone_bbone_next_set(PointerRNA *ptr, Bone *hbone = (Bone *)value.data; /* Within the same armature? */ - if (hbone == NULL || value.id.data == ptr->id.data) { + if (hbone == NULL || value.owner_id == ptr->owner_id) { bone->bbone_next = hbone; } } static void rna_Armature_editbone_transform_update(Main *bmain, Scene *scene, PointerRNA *ptr) { - bArmature *arm = (bArmature *)ptr->id.data; + bArmature *arm = (bArmature *)ptr->owner_id; EditBone *ebone = (EditBone *)ptr->data; EditBone *child; @@ -590,7 +590,7 @@ static int rna_Armature_bones_lookup_string(PointerRNA *ptr, const char *key, Po bArmature *arm = (bArmature *)ptr->data; Bone *bone = BKE_armature_find_bone_name(arm, key); if (bone) { - RNA_pointer_create(ptr->id.data, &RNA_Bone, bone, r_ptr); + RNA_pointer_create(ptr->owner_id, &RNA_Bone, bone, r_ptr); return true; } else { @@ -600,7 +600,7 @@ static int rna_Armature_bones_lookup_string(PointerRNA *ptr, const char *key, Po static bool rna_Armature_is_editmode_get(PointerRNA *ptr) { - bArmature *arm = (bArmature *)ptr->id.data; + bArmature *arm = (bArmature *)ptr->owner_id; return (arm->edbo != NULL); } |