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/depsgraph/intern/depsgraph_query.cc | |
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/depsgraph/intern/depsgraph_query.cc')
-rw-r--r-- | source/blender/depsgraph/intern/depsgraph_query.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/depsgraph/intern/depsgraph_query.cc b/source/blender/depsgraph/intern/depsgraph_query.cc index 23f2bf4194f..8556a351e2b 100644 --- a/source/blender/depsgraph/intern/depsgraph_query.cc +++ b/source/blender/depsgraph/intern/depsgraph_query.cc @@ -205,11 +205,11 @@ void DEG_get_evaluated_rna_pointer(const Depsgraph *depsgraph, if ((ptr == NULL) || (r_ptr_eval == NULL)) { return; } - ID *orig_id = (ID *)ptr->id.data; + ID *orig_id = ptr->owner_id; ID *cow_id = DEG_get_evaluated_id(depsgraph, orig_id); - if (ptr->id.data == ptr->data) { + if (ptr->owner_id == ptr->data) { /* For ID pointers, it's easy... */ - r_ptr_eval->id.data = (void *)cow_id; + r_ptr_eval->owner_id = cow_id; r_ptr_eval->data = (void *)cow_id; r_ptr_eval->type = ptr->type; } @@ -220,7 +220,7 @@ void DEG_get_evaluated_rna_pointer(const Depsgraph *depsgraph, const Object *ob_eval = (Object *)cow_id; bPoseChannel *pchan = (bPoseChannel *)ptr->data; const bPoseChannel *pchan_eval = BKE_pose_channel_find_name(ob_eval->pose, pchan->name); - r_ptr_eval->id.data = (void *)cow_id; + r_ptr_eval->owner_id = cow_id; r_ptr_eval->data = (void *)pchan_eval; r_ptr_eval->type = ptr->type; } |