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/editors/space_node/drawnode.c | 22 +++++++++++----------- source/blender/editors/space_node/node_edit.c | 10 +++++----- 2 files changed, 16 insertions(+), 16 deletions(-) (limited to 'source/blender/editors/space_node') diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c index cc2fb6e1c2a..a69eb254621 100644 --- a/source/blender/editors/space_node/drawnode.c +++ b/source/blender/editors/space_node/drawnode.c @@ -90,7 +90,7 @@ static void node_buts_value(uiLayout *layout, bContext *UNUSED(C), PointerRNA *p /* first output stores value */ bNodeSocket *output = node->outputs.first; PointerRNA sockptr; - RNA_pointer_create(ptr->id.data, &RNA_NodeSocket, output, &sockptr); + RNA_pointer_create(ptr->owner_id, &RNA_NodeSocket, output, &sockptr); uiItemR(layout, &sockptr, "default_value", 0, "", ICON_NONE); } @@ -102,7 +102,7 @@ static void node_buts_rgb(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr bNodeSocket *output = node->outputs.first; PointerRNA sockptr; uiLayout *col; - RNA_pointer_create(ptr->id.data, &RNA_NodeSocket, output, &sockptr); + RNA_pointer_create(ptr->owner_id, &RNA_NodeSocket, output, &sockptr); col = uiLayoutColumn(layout, false); uiTemplateColorPicker(col, &sockptr, "default_value", 1, 0, 0, 0); @@ -113,7 +113,7 @@ static void node_buts_mix_rgb(uiLayout *layout, bContext *UNUSED(C), PointerRNA { uiLayout *row, *col; - bNodeTree *ntree = (bNodeTree *)ptr->id.data; + bNodeTree *ntree = (bNodeTree *)ptr->owner_id; col = uiLayoutColumn(layout, false); row = uiLayoutRow(col, true); @@ -193,7 +193,7 @@ static void node_buts_normal(uiLayout *layout, bContext *UNUSED(C), PointerRNA * /* first output stores normal */ bNodeSocket *output = node->outputs.first; PointerRNA sockptr; - RNA_pointer_create(ptr->id.data, &RNA_NodeSocket, output, &sockptr); + RNA_pointer_create(ptr->owner_id, &RNA_NodeSocket, output, &sockptr); uiItemR(layout, &sockptr, "default_value", 0, "", ICON_NONE); } @@ -1371,7 +1371,7 @@ static void node_composit_buts_image(uiLayout *layout, bContext *C, PointerRNA * bNode *node = ptr->data; PointerRNA imaptr, iuserptr; - RNA_pointer_create((ID *)ptr->id.data, &RNA_ImageUser, node->storage, &iuserptr); + RNA_pointer_create(ptr->owner_id, &RNA_ImageUser, node->storage, &iuserptr); uiLayoutSetContextPointer(layout, "image_user", &iuserptr); uiTemplateID(layout, C, @@ -1398,7 +1398,7 @@ static void node_composit_buts_image_ex(uiLayout *layout, bContext *C, PointerRN bNode *node = ptr->data; PointerRNA iuserptr; - RNA_pointer_create((ID *)ptr->id.data, &RNA_ImageUser, node->storage, &iuserptr); + RNA_pointer_create(ptr->owner_id, &RNA_ImageUser, node->storage, &iuserptr); uiLayoutSetContextPointer(layout, "image_user", &iuserptr); uiTemplateImage(layout, C, ptr, "image", &iuserptr, 0, 1); } @@ -1959,7 +1959,7 @@ static void node_composit_buts_file_output_ex(uiLayout *layout, bContext *C, Poi } /* XXX collection lookup does not return the ID part of the pointer, * setting this manually here */ - active_input_ptr.id.data = ptr->id.data; + active_input_ptr.owner_id = ptr->owner_id; col = uiLayoutColumn(row, true); ot = WM_operatortype_find("NODE_OT_output_file_move_active_socket", false); @@ -2967,7 +2967,7 @@ static void node_texture_buts_proc(uiLayout *layout, bContext *UNUSED(C), Pointe { PointerRNA tex_ptr; bNode *node = ptr->data; - ID *id = ptr->id.data; + ID *id = ptr->owner_id; Tex *tex = (Tex *)node->storage; uiLayout *col, *row; @@ -3061,7 +3061,7 @@ static void node_texture_buts_image_ex(uiLayout *layout, bContext *C, PointerRNA bNode *node = ptr->data; PointerRNA iuserptr; - RNA_pointer_create((ID *)ptr->id.data, &RNA_ImageUser, node->storage, &iuserptr); + RNA_pointer_create(ptr->owner_id, &RNA_ImageUser, node->storage, &iuserptr); uiTemplateImage(layout, C, ptr, "image", &iuserptr, 0, 0); } @@ -3123,7 +3123,7 @@ static void node_texture_set_butfunc(bNodeType *ntype) static void node_property_update_default(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr) { - bNodeTree *ntree = ptr->id.data; + bNodeTree *ntree = (bNodeTree *)ptr->owner_id; bNode *node = ptr->data; ED_node_tag_update_nodetree(bmain, ntree, node); } @@ -3293,7 +3293,7 @@ static void node_file_output_socket_draw(bContext *C, PointerRNA *ptr, PointerRNA *node_ptr) { - bNodeTree *ntree = ptr->id.data; + bNodeTree *ntree = (bNodeTree *)ptr->owner_id; bNodeSocket *sock = ptr->data; uiLayout *row; PointerRNA inputptr, imfptr; diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c index d31256a1425..dcf901216f5 100644 --- a/source/blender/editors/space_node/node_edit.c +++ b/source/blender/editors/space_node/node_edit.c @@ -1838,7 +1838,7 @@ static int node_output_file_add_socket_exec(bContext *C, wmOperator *op) if (ptr.data) { node = ptr.data; - ntree = ptr.id.data; + ntree = (bNodeTree *)ptr.owner_id; } else if (snode && snode->edittree) { ntree = snode->edittree; @@ -1886,7 +1886,7 @@ static int node_output_file_remove_active_socket_exec(bContext *C, wmOperator *U if (ptr.data) { node = ptr.data; - ntree = ptr.id.data; + ntree = (bNodeTree *)ptr.owner_id; } else if (snode && snode->edittree) { ntree = snode->edittree; @@ -2535,7 +2535,7 @@ static int node_shader_script_update_exec(bContext *C, wmOperator *op) /* get node */ if (nodeptr.data) { - ntree_base = nodeptr.id.data; + ntree_base = (bNodeTree *)nodeptr.owner_id; node = nodeptr.data; } else if (snode && snode->edittree) { @@ -2734,7 +2734,7 @@ static int node_cryptomatte_add_socket_exec(bContext *C, wmOperator *UNUSED(op)) if (ptr.data) { node = ptr.data; - ntree = ptr.id.data; + ntree = (bNodeTree *)ptr.owner_id; } else if (snode && snode->edittree) { ntree = snode->edittree; @@ -2778,7 +2778,7 @@ static int node_cryptomatte_remove_socket_exec(bContext *C, wmOperator *UNUSED(o if (ptr.data) { node = ptr.data; - ntree = ptr.id.data; + ntree = (bNodeTree *)ptr.owner_id; } else if (snode && snode->edittree) { ntree = snode->edittree; -- cgit v1.2.3