From a1aa4a259713f26c32a5fac4adbe0751e0479f5b Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Fri, 23 Aug 2019 09:52:12 +0200 Subject: 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 --- source/blender/depsgraph/intern/depsgraph_query.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'source/blender/depsgraph/intern/depsgraph_query.cc') 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; } -- cgit v1.2.3