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/interface/interface.c | 16 ++++----- source/blender/editors/interface/interface_anim.c | 4 +-- .../editors/interface/interface_context_menu.c | 2 +- .../interface/interface_eyedropper_datablock.c | 4 +-- .../interface/interface_eyedropper_driver.c | 6 ++-- .../blender/editors/interface/interface_handlers.c | 10 +++--- source/blender/editors/interface/interface_icons.c | 2 +- .../blender/editors/interface/interface_layout.c | 4 +-- source/blender/editors/interface/interface_ops.c | 38 +++++++++++----------- .../editors/interface/interface_region_tooltip.c | 6 ++-- .../editors/interface/interface_templates.c | 26 +++++++-------- source/blender/editors/interface/interface_utils.c | 4 +-- .../blender/editors/interface/interface_widgets.c | 2 +- 13 files changed, 62 insertions(+), 62 deletions(-) (limited to 'source/blender/editors/interface') diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c index 7a123599be5..66c8eadbd74 100644 --- a/source/blender/editors/interface/interface.c +++ b/source/blender/editors/interface/interface.c @@ -908,12 +908,12 @@ void UI_but_execute(const bContext *C, ARegion *ar, uiBut *but) * returns false if undo needs to be disabled. */ static bool ui_but_is_rna_undo(const uiBut *but) { - if (but->rnapoin.id.data) { + if (but->rnapoin.owner_id) { /* avoid undo push for buttons who's ID are screen or wm level * we could disable undo for buttons with no ID too but may have * unforeseen consequences, so best check for ID's we _know_ are not * handled by undo - campbell */ - ID *id = but->rnapoin.id.data; + ID *id = but->rnapoin.owner_id; if (ID_CHECK_UNDO(id) == false) { return false; } @@ -1226,8 +1226,8 @@ static bool ui_but_event_property_operator_string(const bContext *C, */ char *data_path = NULL; - if (ptr->id.data) { - ID *id = ptr->id.data; + if (ptr->owner_id) { + ID *id = ptr->owner_id; if (GS(id->name) == ID_SCR) { /* screen/editor property @@ -1731,7 +1731,7 @@ static void ui_block_message_subscribe(ARegion *ar, struct wmMsgBus *mbus, uiBlo if ((but_prev && (but_prev->rnaprop == but->rnaprop) && (but_prev->rnapoin.type == but->rnapoin.type) && (but_prev->rnapoin.data == but->rnapoin.data) && - (but_prev->rnapoin.id.data == but->rnapoin.id.data)) == false) { + (but_prev->rnapoin.owner_id == but->rnapoin.owner_id)) == false) { /* TODO: could make this into utility function. */ WM_msg_subscribe_rna(mbus, &but->rnapoin, @@ -2055,7 +2055,7 @@ bool ui_but_is_compatible(const uiBut *but_a, const uiBut *but_b) } if (but_a->rnaprop) { - /* skip 'rnapoin.data', 'rnapoin.id.data' + /* skip 'rnapoin.data', 'rnapoin.owner_id' * allow different data to have the same props edited at once */ if (but_a->rnapoin.type != but_b->rnapoin.type) { return false; @@ -2479,7 +2479,7 @@ void ui_but_string_get_ex(uiBut *but, /* uiBut.custom_data points to data this tab represents (e.g. workspace). * uiBut.rnapoin/prop store an active value (e.g. active workspace). */ - RNA_pointer_create(but->rnapoin.id.data, ptr_type, but->custom_data, &ptr); + RNA_pointer_create(but->rnapoin.owner_id, ptr_type, but->custom_data, &ptr); buf = RNA_struct_name_get_alloc(&ptr, str, maxlen, &buf_len); } else if (type == PROP_STRING) { @@ -2822,7 +2822,7 @@ bool ui_but_string_set(bContext *C, uiBut *but, const char *str) /* uiBut.custom_data points to data this tab represents (e.g. workspace). * uiBut.rnapoin/prop store an active value (e.g. active workspace). */ - RNA_pointer_create(but->rnapoin.id.data, ptr_type, but->custom_data, &ptr); + RNA_pointer_create(but->rnapoin.owner_id, ptr_type, but->custom_data, &ptr); prop = RNA_struct_name_property(ptr_type); if (RNA_property_editable(&ptr, prop)) { RNA_property_string_set(&ptr, prop, str); diff --git a/source/blender/editors/interface/interface_anim.c b/source/blender/editors/interface/interface_anim.c index 4d87cc22ef2..168c6051327 100644 --- a/source/blender/editors/interface/interface_anim.c +++ b/source/blender/editors/interface/interface_anim.c @@ -228,7 +228,7 @@ bool ui_but_anim_expression_create(uiBut *but, const char *str) /* make sure we have animdata for this */ /* FIXME: until materials can be handled by depsgraph, * don't allow drivers to be created for them */ - id = (ID *)but->rnapoin.id.data; + id = but->rnapoin.owner_id; if ((id == NULL) || (GS(id->name) == ID_MA) || (GS(id->name) == ID_TE)) { if (G.debug & G_DEBUG) { printf("ERROR: create expression failed - invalid data-block for adding drivers (%p)\n", id); @@ -314,7 +314,7 @@ void ui_but_anim_autokey(bContext *C, uiBut *but, Scene *scene, float cfra) } } else { - id = but->rnapoin.id.data; + id = but->rnapoin.owner_id; /* TODO: this should probably respect the keyingset only option for anim */ if (autokeyframe_cfra_can_key(scene, id)) { diff --git a/source/blender/editors/interface/interface_context_menu.c b/source/blender/editors/interface/interface_context_menu.c index 22b75da4968..56d4cab202c 100644 --- a/source/blender/editors/interface/interface_context_menu.c +++ b/source/blender/editors/interface/interface_context_menu.c @@ -904,7 +904,7 @@ bool ui_popup_context_menu_for_button(bContext *C, uiBut *but) ICON_NONE, "UI_OT_copy_data_path_button"); - if (ptr->id.data && !is_whole_array && + if (ptr->owner_id && !is_whole_array && ELEM(type, PROP_BOOLEAN, PROP_INT, PROP_FLOAT, PROP_ENUM)) { uiItemO(layout, CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Copy As New Driver"), diff --git a/source/blender/editors/interface/interface_eyedropper_datablock.c b/source/blender/editors/interface/interface_eyedropper_datablock.c index efbe5922aa5..336fae45895 100644 --- a/source/blender/editors/interface/interface_eyedropper_datablock.c +++ b/source/blender/editors/interface/interface_eyedropper_datablock.c @@ -118,7 +118,7 @@ static int datadropper_init(bContext *C, wmOperator *op) ddr->idcode_name = TIP_(BKE_idcode_to_name(ddr->idcode)); PointerRNA ptr = RNA_property_pointer_get(&ddr->ptr, ddr->prop); - ddr->init_id = ptr.id.data; + ddr->init_id = ptr.owner_id; return true; } @@ -222,7 +222,7 @@ static bool datadropper_id_set(bContext *C, DataDropper *ddr, ID *id) ptr_value = RNA_property_pointer_get(&ddr->ptr, ddr->prop); - return (ptr_value.id.data == id); + return (ptr_value.owner_id == id); } /* single point sample & set */ diff --git a/source/blender/editors/interface/interface_eyedropper_driver.c b/source/blender/editors/interface/interface_eyedropper_driver.c index c1aee190cd3..e6fc52bc3bc 100644 --- a/source/blender/editors/interface/interface_eyedropper_driver.c +++ b/source/blender/editors/interface/interface_eyedropper_driver.c @@ -116,10 +116,10 @@ static void driverdropper_sample(bContext *C, wmOperator *op, const wmEvent *eve /* Now create driver(s) */ if (target_path && dst_path) { int success = ANIM_add_driver_with_target(op->reports, - ddr->ptr.id.data, + ddr->ptr.owner_id, dst_path, ddr->index, - target_ptr->id.data, + target_ptr->owner_id, target_path, target_index, flag, @@ -130,7 +130,7 @@ static void driverdropper_sample(bContext *C, wmOperator *op, const wmEvent *eve /* send updates */ UI_context_update_anim_flag(C); DEG_relations_tag_update(CTX_data_main(C)); - DEG_id_tag_update(ddr->ptr.id.data, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY); + DEG_id_tag_update(ddr->ptr.owner_id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY); WM_event_add_notifier(C, NC_ANIMATION | ND_FCURVES_ORDER, NULL); // XXX } } diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index 04b91b12027..13bfaa95077 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -757,7 +757,7 @@ static void ui_apply_but_undo(uiBut *but) } /* Optionally override undo when undo system doesn't support storing properties. */ - if (but->rnapoin.id.data) { + if (but->rnapoin.owner_id) { /* Exception for renaming ID data, we always need undo pushes in this case, * because undo systems track data by their ID, see: T67002. */ extern PropertyRNA rna_ID_name; @@ -765,7 +765,7 @@ static void ui_apply_but_undo(uiBut *but) /* pass */ } else { - ID *id = but->rnapoin.id.data; + ID *id = but->rnapoin.owner_id; if (!ED_undo_is_legacy_compatible_for_property(but->block->evil_C, id)) { str = ""; } @@ -1558,7 +1558,7 @@ static bool ui_selectcontext_begin(bContext *C, uiBut *but, uiSelectContextStore if (use_path_from_id) { /* Path relative to ID. */ lprop = NULL; - RNA_id_pointer_create(link->ptr.id.data, &idptr); + RNA_id_pointer_create(link->ptr.owner_id, &idptr); RNA_path_resolve_property(&idptr, path, &lptr, &lprop); } else if (path) { @@ -5488,7 +5488,7 @@ static bool ui_numedit_but_UNITVEC( static void ui_palette_set_active(uiBut *but) { if ((int)(but->a1) == UI_PALETTE_COLOR) { - Palette *palette = but->rnapoin.id.data; + Palette *palette = (Palette *)but->rnapoin.owner_id; PaletteColor *color = but->rnapoin.data; palette->active_color = BLI_findindex(&palette->colors, color); } @@ -5551,7 +5551,7 @@ static int ui_do_but_COLOR(bContext *C, uiBut *but, uiHandleButtonData *data, co } else if ((int)(but->a1) == UI_PALETTE_COLOR && event->type == DELKEY && event->val == KM_PRESS) { - Palette *palette = but->rnapoin.id.data; + Palette *palette = (Palette *)but->rnapoin.owner_id; PaletteColor *color = but->rnapoin.data; BKE_palette_color_remove(palette, color); diff --git a/source/blender/editors/interface/interface_icons.c b/source/blender/editors/interface/interface_icons.c index 2a9c5c7352a..1674374396f 100644 --- a/source/blender/editors/interface/interface_icons.c +++ b/source/blender/editors/interface/interface_icons.c @@ -2137,7 +2137,7 @@ int UI_rnaptr_icon_get(bContext *C, PointerRNA *ptr, int rnaicon, const bool big /* try ID, material, texture or dynapaint slot */ if (RNA_struct_is_ID(ptr->type)) { - id = ptr->id.data; + id = ptr->owner_id; } else if (RNA_struct_is_a(ptr->type, &RNA_MaterialSlot)) { id = RNA_pointer_get(ptr, "material").data; diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c index e9b9411e1bd..85c7af26b72 100644 --- a/source/blender/editors/interface/interface_layout.c +++ b/source/blender/editors/interface/interface_layout.c @@ -1873,7 +1873,7 @@ void uiItemFullR(uiLayout *layout, uiBut *but; } ui_decorate = { .use_prop_decorate = (((layout->item.flag & UI_ITEM_PROP_DECORATE) != 0) && - (use_prop_sep && ptr->id.data && id_can_have_animdata(ptr->id.data))), + (use_prop_sep && ptr->owner_id && id_can_have_animdata(ptr->owner_id))), }; #endif /* UI_PROP_DECORATE */ @@ -2946,7 +2946,7 @@ void uiItemLDrag(uiLayout *layout, PointerRNA *ptr, const char *name, int icon) if (ptr && ptr->type) { if (RNA_struct_is_ID(ptr->type)) { - UI_but_drag_set_id(but, ptr->id.data); + UI_but_drag_set_id(but, ptr->owner_id); } } } diff --git a/source/blender/editors/interface/interface_ops.c b/source/blender/editors/interface/interface_ops.c index c7ce66cfcf6..819ec4fc2d3 100644 --- a/source/blender/editors/interface/interface_ops.c +++ b/source/blender/editors/interface/interface_ops.c @@ -86,7 +86,7 @@ static bool copy_data_path_button_poll(bContext *C) UI_context_active_but_prop_get(C, &ptr, &prop, &index); - if (ptr.id.data && ptr.data && prop) { + if (ptr.owner_id && ptr.data && prop) { path = RNA_path_from_ID_to_property(&ptr, prop); if (path) { @@ -110,7 +110,7 @@ static int copy_data_path_button_exec(bContext *C, wmOperator *op) /* try to create driver using property retrieved from UI */ UI_context_active_but_prop_get(C, &ptr, &prop, &index); - if (ptr.id.data != NULL) { + if (ptr.owner_id != NULL) { if (full_path) { @@ -171,7 +171,7 @@ static bool copy_as_driver_button_poll(bContext *C) UI_context_active_but_prop_get(C, &ptr, &prop, &index); - if (ptr.id.data && ptr.data && prop && + if (ptr.owner_id && ptr.data && prop && ELEM(RNA_property_type(prop), PROP_BOOLEAN, PROP_INT, PROP_FLOAT, PROP_ENUM) && (index >= 0 || !RNA_property_array_check(prop))) { path = RNA_path_from_ID_to_property(&ptr, prop); @@ -194,12 +194,12 @@ static int copy_as_driver_button_exec(bContext *C, wmOperator *UNUSED(op)) /* try to create driver using property retrieved from UI */ UI_context_active_but_prop_get(C, &ptr, &prop, &index); - if (ptr.id.data && ptr.data && prop) { + if (ptr.owner_id && ptr.data && prop) { int dim = RNA_property_array_dimension(&ptr, prop, NULL); char *path = RNA_path_from_ID_to_property_index(&ptr, prop, dim, index); if (path) { - ANIM_copy_as_driver(ptr.id.data, path, RNA_property_identifier(prop)); + ANIM_copy_as_driver(ptr.owner_id, path, RNA_property_identifier(prop)); MEM_freeN(path); return OPERATOR_FINISHED; } @@ -287,7 +287,7 @@ static void UI_OT_copy_python_command_button(wmOperatorType *ot) static int operator_button_property_finish(bContext *C, PointerRNA *ptr, PropertyRNA *prop) { - ID *id = ptr->id.data; + ID *id = ptr->owner_id; /* perform updates required for this property */ RNA_property_update(C, ptr, prop); @@ -542,7 +542,7 @@ static int override_type_set_button_exec(bContext *C, wmOperator *op) /* try to reset the nominated setting to its default value */ UI_context_active_but_prop_get(C, &ptr, &prop, &index); - BLI_assert(ptr.id.data != NULL); + BLI_assert(ptr.owner_id != NULL); if (all) { index = -1; @@ -605,7 +605,7 @@ static bool override_remove_button_poll(bContext *C) const int override_status = RNA_property_override_library_status(&ptr, prop, index); - return (ptr.data && ptr.id.data && prop && (override_status & RNA_OVERRIDE_STATUS_OVERRIDDEN)); + return (ptr.data && ptr.owner_id && prop && (override_status & RNA_OVERRIDE_STATUS_OVERRIDDEN)); } static int override_remove_button_exec(bContext *C, wmOperator *op) @@ -619,7 +619,7 @@ static int override_remove_button_exec(bContext *C, wmOperator *op) /* try to reset the nominated setting to its default value */ UI_context_active_but_prop_get(C, &ptr, &prop, &index); - ID *id = ptr.id.data; + ID *id = ptr.owner_id; IDOverrideLibraryProperty *oprop = RNA_property_override_property_find(&ptr, prop); BLI_assert(oprop != NULL); BLI_assert(id != NULL && id->override_library != NULL); @@ -720,7 +720,7 @@ bool UI_context_copy_to_selected_list(bContext *C, CollectionPointerLink *link; for (link = lb.first; link; link = link->next) { bPoseChannel *pchan = link->ptr.data; - RNA_pointer_create(link->ptr.id.data, &RNA_Bone, pchan->bone, &link->ptr); + RNA_pointer_create(link->ptr.owner_id, &RNA_Bone, pchan->bone, &link->ptr); } } @@ -739,7 +739,7 @@ bool UI_context_copy_to_selected_list(bContext *C, /* Get the node we're editing */ if (RNA_struct_is_a(ptr->type, &RNA_NodeSocket)) { - bNodeTree *ntree = ptr->id.data; + bNodeTree *ntree = (bNodeTree *)ptr->owner_id; bNodeSocket *sock = ptr->data; if (nodeFindNode(ntree, sock, &node, NULL)) { if ((path = RNA_path_resolve_from_type_to_property(ptr, prop, &RNA_Node)) != NULL) { @@ -773,8 +773,8 @@ bool UI_context_copy_to_selected_list(bContext *C, *r_lb = lb; *r_path = path; } - else if (ptr->id.data) { - ID *id = ptr->id.data; + else if (ptr->owner_id) { + ID *id = ptr->owner_id; if (GS(id->name) == ID_OB) { *r_lb = CTX_data_collection_get(C, "selected_editable_objects"); @@ -792,7 +792,7 @@ bool UI_context_copy_to_selected_list(bContext *C, CollectionPointerLink *link, *link_next; for (link = lb.first; link; link = link->next) { - Object *ob = link->ptr.id.data; + Object *ob = (Object *)link->ptr.owner_id; if (ob->data) { ID *id_data = ob->data; id_data->tag |= LIB_TAG_DOIT; @@ -800,7 +800,7 @@ bool UI_context_copy_to_selected_list(bContext *C, } for (link = lb.first; link; link = link_next) { - Object *ob = link->ptr.id.data; + Object *ob = (Object *)link->ptr.owner_id; ID *id_data = ob->data; link_next = link->next; @@ -872,7 +872,7 @@ static bool copy_to_selected_button(bContext *C, bool all, bool poll) if (use_path_from_id) { /* Path relative to ID. */ lprop = NULL; - RNA_id_pointer_create(link->ptr.id.data, &idptr); + RNA_id_pointer_create(link->ptr.owner_id, &idptr); RNA_path_resolve_property(&idptr, path, &lptr, &lprop); } else if (path) { @@ -982,12 +982,12 @@ static bool jump_to_target_ptr(bContext *C, PointerRNA ptr, const bool poll) /* Find the containing Object. */ ViewLayer *view_layer = CTX_data_view_layer(C); Base *base = NULL; - const short id_type = GS(((ID *)ptr.id.data)->name); + const short id_type = GS(ptr.owner_id->name); if (id_type == ID_OB) { - base = BKE_view_layer_base_find(view_layer, ptr.id.data); + base = BKE_view_layer_base_find(view_layer, (Object *)ptr.owner_id); } else if (OB_DATA_SUPPORT_ID(id_type)) { - base = ED_object_find_first_by_data_id(view_layer, ptr.id.data); + base = ED_object_find_first_by_data_id(view_layer, ptr.owner_id); } bool ok = false; diff --git a/source/blender/editors/interface/interface_region_tooltip.c b/source/blender/editors/interface/interface_region_tooltip.c index 6aad9e41e7d..f2ca9cebf7b 100644 --- a/source/blender/editors/interface/interface_region_tooltip.c +++ b/source/blender/editors/interface/interface_region_tooltip.c @@ -765,8 +765,8 @@ static uiTooltipData *ui_tooltip_data_from_button(bContext *C, uiBut *but) } } - if (but->rnapoin.id.data) { - const ID *id = but->rnapoin.id.data; + if (but->rnapoin.owner_id) { + const ID *id = but->rnapoin.owner_id; if (ID_IS_LINKED(id)) { uiTooltipField *field = text_field_add(data, &(uiTooltipFormat){ @@ -847,7 +847,7 @@ static uiTooltipData *ui_tooltip_data_from_button(bContext *C, uiBut *but) } } - if (but->rnapoin.id.data) { + if (but->rnapoin.owner_id) { uiTooltipField *field = text_field_add(data, &(uiTooltipFormat){ .style = UI_TIP_STYLE_MONO, diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c index 27e7601a2b8..1c6618bc509 100644 --- a/source/blender/editors/interface/interface_templates.c +++ b/source/blender/editors/interface/interface_templates.c @@ -121,7 +121,7 @@ static void template_add_button_search_menu(const bContext *C, { PointerRNA active_ptr = RNA_property_pointer_get(ptr, prop); ID *id = (active_ptr.data && RNA_struct_is_ID(active_ptr.type)) ? active_ptr.data : NULL; - const ID *idfrom = ptr->id.data; + const ID *idfrom = ptr->owner_id; const StructRNA *type = active_ptr.type ? active_ptr.type : RNA_property_pointer_type(ptr, prop); uiBut *but; @@ -310,7 +310,7 @@ static bool id_search_add(const bContext *C, uiSearchItems *items, ID *id) { - ID *id_from = template_ui->ptr.id.data; + ID *id_from = template_ui->ptr.owner_id; if (!((flag & PROP_ID_SELF_CHECK) && id == id_from)) { @@ -401,7 +401,7 @@ static void id_search_cb_objects_from_scene(const bContext *C, TemplateID *template_ui = (TemplateID *)arg_template; ListBase *lb = template_ui->idlb; Scene *scene = NULL; - ID *id_from = template_ui->ptr.id.data; + ID *id_from = template_ui->ptr.owner_id; if (id_from && GS(id_from->name) == ID_SCE) { scene = (Scene *)id_from; @@ -667,7 +667,7 @@ static uiBut *template_id_def_new_but(uiBlock *block, const bool use_tab_but, int but_height) { - ID *idfrom = template_ui->ptr.id.data; + ID *idfrom = template_ui->ptr.owner_id; uiBut *but; const int w = id ? UI_UNIT_X : id_open ? UI_UNIT_X * 3 : UI_UNIT_X * 6; const int but_type = use_tab_but ? UI_BTYPE_TAB : UI_BTYPE_BUT; @@ -769,7 +769,7 @@ static void template_ID(bContext *C, idptr = RNA_property_pointer_get(&template_ui->ptr, template_ui->prop); id = idptr.data; - idfrom = template_ui->ptr.id.data; + idfrom = template_ui->ptr.owner_id; // lb = template_ui->idlb; block = uiLayoutGetBlock(layout); @@ -2037,7 +2037,7 @@ uiLayout *uiTemplateModifier(uiLayout *layout, bContext *C, PointerRNA *ptr) return NULL; } - ob = ptr->id.data; + ob = (Object *)ptr->owner_id; md = ptr->data; if (!ob || !(GS(ob->id.name) == ID_OB)) { @@ -2179,7 +2179,7 @@ uiLayout *uiTemplateGpencilModifier(uiLayout *layout, bContext *UNUSED(C), Point return NULL; } - ob = ptr->id.data; + ob = (Object *)ptr->owner_id; md = ptr->data; if (!ob || !(GS(ob->id.name) == ID_OB)) { @@ -2297,7 +2297,7 @@ uiLayout *uiTemplateShaderFx(uiLayout *layout, bContext *UNUSED(C), PointerRNA * return NULL; } - ob = ptr->id.data; + ob = (Object *)ptr->owner_id; fx = ptr->data; if (!ob || !(GS(ob->id.name) == ID_OB)) { @@ -2579,7 +2579,7 @@ uiLayout *uiTemplateConstraint(uiLayout *layout, PointerRNA *ptr) return NULL; } - ob = ptr->id.data; + ob = (Object *)ptr->owner_id; con = ptr->data; if (!ob || !(GS(ob->id.name) == ID_OB)) { @@ -3098,7 +3098,7 @@ static void colorband_buttons_layout(uiLayout *layout, float ys = butr->ymin; PointerRNA ptr; - RNA_pointer_create(cb->ptr.id.data, &RNA_ColorRamp, coba, &ptr); + RNA_pointer_create(cb->ptr.owner_id, &RNA_ColorRamp, coba, &ptr); split = uiLayoutSplit(layout, 0.4f, false); @@ -3190,7 +3190,7 @@ static void colorband_buttons_layout(uiLayout *layout, if (coba->tot) { CBData *cbd = coba->data + coba->cur; - RNA_pointer_create(cb->ptr.id.data, &RNA_ColorRampElement, cbd, &ptr); + RNA_pointer_create(cb->ptr.owner_id, &RNA_ColorRampElement, cbd, &ptr); if (!expand) { split = uiLayoutSplit(layout, 0.3f, false); @@ -3283,7 +3283,7 @@ void uiTemplateColorRamp(uiLayout *layout, PointerRNA *ptr, const char *propname block = uiLayoutAbsoluteBlock(layout); - id = cptr.id.data; + id = cptr.owner_id; UI_block_lock_set(block, (id && ID_IS_LINKED(id)), ERROR_LIBDATA_MESSAGE); colorband_buttons_layout(layout, block, cptr.data, &rect, cb, expand); @@ -4405,7 +4405,7 @@ void uiTemplateCurveMapping(uiLayout *layout, cb->ptr = *ptr; cb->prop = prop; - id = cptr.id.data; + id = cptr.owner_id; UI_block_lock_set(block, (id && ID_IS_LINKED(id)), ERROR_LIBDATA_MESSAGE); curvemap_buttons_layout(layout, &cptr, type, levels, brush, neg_slope, tone, cb); diff --git a/source/blender/editors/interface/interface_utils.c b/source/blender/editors/interface/interface_utils.c index 9c8787d002f..63e382e2280 100644 --- a/source/blender/editors/interface/interface_utils.c +++ b/source/blender/editors/interface/interface_utils.c @@ -405,7 +405,7 @@ void ui_rna_collection_search_cb(const struct bContext *C, RNA_PROP_BEGIN (&data->search_ptr, itemptr, data->search_prop) { if (flag & PROP_ID_SELF_CHECK) { - if (itemptr.data == data->target_ptr.id.data) { + if (itemptr.data == data->target_ptr.owner_id) { continue; } } @@ -566,7 +566,7 @@ int UI_calc_float_precision(int prec, double value) bool UI_but_online_manual_id(const uiBut *but, char *r_str, size_t maxlength) { - if (but->rnapoin.id.data && but->rnapoin.data && but->rnaprop) { + if (but->rnapoin.owner_id && but->rnapoin.data && but->rnaprop) { BLI_snprintf(r_str, maxlength, "%s.%s", diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c index 9c4d628cec5..e112169d4da 100644 --- a/source/blender/editors/interface/interface_widgets.c +++ b/source/blender/editors/interface/interface_widgets.c @@ -3802,7 +3802,7 @@ static void widget_swatch( widgetbase_draw_ex(&wtb, wcol, show_alpha_checkers); if (but->a1 == UI_PALETTE_COLOR && - ((Palette *)but->rnapoin.id.data)->active_color == (int)but->a2) { + ((Palette *)but->rnapoin.owner_id)->active_color == (int)but->a2) { float width = rect->xmax - rect->xmin; float height = rect->ymax - rect->ymin; /* find color luminance and change it slightly */ -- cgit v1.2.3