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
This commit is contained in:
@@ -808,7 +808,7 @@ int BPY_context_member_get(bContext *C, const char *member, bContextDataResult *
|
||||
ptr = &(((BPy_StructRNA *)item)->ptr);
|
||||
|
||||
// result->ptr = ((BPy_StructRNA *)item)->ptr;
|
||||
CTX_data_pointer_set(result, ptr->id.data, ptr->type, ptr->data);
|
||||
CTX_data_pointer_set(result, ptr->owner_id, ptr->type, ptr->data);
|
||||
CTX_data_type_set(result, CTX_DATA_TYPE_POINTER);
|
||||
done = true;
|
||||
}
|
||||
@@ -834,7 +834,7 @@ int BPY_context_member_get(bContext *C, const char *member, bContextDataResult *
|
||||
BLI_addtail(&result->list, link);
|
||||
#endif
|
||||
ptr = &(((BPy_StructRNA *)list_item)->ptr);
|
||||
CTX_data_list_add(result, ptr->id.data, ptr->type, ptr->data);
|
||||
CTX_data_list_add(result, ptr->owner_id, ptr->type, ptr->data);
|
||||
}
|
||||
else {
|
||||
CLOG_INFO(BPY_LOG_CONTEXT,
|
||||
|
Reference in New Issue
Block a user