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/RNA_types.h | |
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/RNA_types.h')
-rw-r--r-- | source/blender/makesrna/RNA_types.h | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/source/blender/makesrna/RNA_types.h b/source/blender/makesrna/RNA_types.h index 38631d1acf2..2a341249247 100644 --- a/source/blender/makesrna/RNA_types.h +++ b/source/blender/makesrna/RNA_types.h @@ -29,6 +29,7 @@ extern "C" { struct BlenderRNA; struct FunctionRNA; +struct ID; struct Main; struct ParameterList; struct PropertyRNA; @@ -44,10 +45,7 @@ struct bContext; * the properties and validate them. */ typedef struct PointerRNA { - struct { - void *data; - } id; - + struct ID *owner_id; struct StructRNA *type; void *data; } PointerRNA; @@ -534,7 +532,7 @@ typedef struct ParameterDynAlloc { typedef enum FunctionFlag { /** * Pass ID owning 'self' data - * (i.e. ptr->id.data, might be same as self in case data is an ID...). + * (i.e. ptr->owner_id, might be same as self in case data is an ID...). */ FUNC_USE_SELF_ID = (1 << 11), |