Cleanup: add CTX_data_pointer_set_ptr & CTX_data_list_add_ptr
Many callers expanded a PointerRNA argument, so add a version of these functions that takes a PointerRNA.
This commit is contained in:
@@ -256,9 +256,11 @@ int /*eContextResult*/ CTX_data_get(
|
|||||||
const bContext *C, const char *member, PointerRNA *r_ptr, ListBase *r_lb, short *r_type);
|
const bContext *C, const char *member, PointerRNA *r_ptr, ListBase *r_lb, short *r_type);
|
||||||
|
|
||||||
void CTX_data_id_pointer_set(bContextDataResult *result, struct ID *id);
|
void CTX_data_id_pointer_set(bContextDataResult *result, struct ID *id);
|
||||||
|
void CTX_data_pointer_set_ptr(bContextDataResult *result, const PointerRNA *ptr);
|
||||||
void CTX_data_pointer_set(bContextDataResult *result, struct ID *id, StructRNA *type, void *data);
|
void CTX_data_pointer_set(bContextDataResult *result, struct ID *id, StructRNA *type, void *data);
|
||||||
|
|
||||||
void CTX_data_id_list_add(bContextDataResult *result, struct ID *id);
|
void CTX_data_id_list_add(bContextDataResult *result, struct ID *id);
|
||||||
|
void CTX_data_list_add_ptr(bContextDataResult *result, const PointerRNA *ptr);
|
||||||
void CTX_data_list_add(bContextDataResult *result, struct ID *id, StructRNA *type, void *data);
|
void CTX_data_list_add(bContextDataResult *result, struct ID *id, StructRNA *type, void *data);
|
||||||
|
|
||||||
void CTX_data_dir_set(bContextDataResult *result, const char **dir);
|
void CTX_data_dir_set(bContextDataResult *result, const char **dir);
|
||||||
|
|||||||
@@ -655,6 +655,11 @@ void CTX_data_pointer_set(bContextDataResult *result, ID *id, StructRNA *type, v
|
|||||||
RNA_pointer_create(id, type, data, &result->ptr);
|
RNA_pointer_create(id, type, data, &result->ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CTX_data_pointer_set_ptr(bContextDataResult *result, const PointerRNA *ptr)
|
||||||
|
{
|
||||||
|
result->ptr = *ptr;
|
||||||
|
}
|
||||||
|
|
||||||
void CTX_data_id_list_add(bContextDataResult *result, ID *id)
|
void CTX_data_id_list_add(bContextDataResult *result, ID *id)
|
||||||
{
|
{
|
||||||
CollectionPointerLink *link = MEM_callocN(sizeof(CollectionPointerLink), "CTX_data_id_list_add");
|
CollectionPointerLink *link = MEM_callocN(sizeof(CollectionPointerLink), "CTX_data_id_list_add");
|
||||||
@@ -671,6 +676,14 @@ void CTX_data_list_add(bContextDataResult *result, ID *id, StructRNA *type, void
|
|||||||
BLI_addtail(&result->list, link);
|
BLI_addtail(&result->list, link);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CTX_data_list_add_ptr(bContextDataResult *result, const PointerRNA *ptr)
|
||||||
|
{
|
||||||
|
CollectionPointerLink *link = MEM_callocN(sizeof(CollectionPointerLink), "CTX_data_list_add");
|
||||||
|
link->ptr = *ptr;
|
||||||
|
|
||||||
|
BLI_addtail(&result->list, link);
|
||||||
|
}
|
||||||
|
|
||||||
int ctx_data_list_count(const bContext *C, int (*func)(const bContext *, ListBase *))
|
int ctx_data_list_count(const bContext *C, int (*func)(const bContext *, ListBase *))
|
||||||
{
|
{
|
||||||
ListBase list;
|
ListBase list;
|
||||||
|
|||||||
@@ -678,7 +678,6 @@ void ANIM_draw_framerange(struct Scene *scene, struct View2D *v2d);
|
|||||||
|
|
||||||
/* ------------- UI Panel Drawing -------------- */
|
/* ------------- UI Panel Drawing -------------- */
|
||||||
|
|
||||||
|
|
||||||
bool ANIM_nla_context_track_ptr(const struct bContext *C, struct PointerRNA *r_ptr);
|
bool ANIM_nla_context_track_ptr(const struct bContext *C, struct PointerRNA *r_ptr);
|
||||||
bool ANIM_nla_context_strip_ptr(const struct bContext *C, struct PointerRNA *r_ptr);
|
bool ANIM_nla_context_strip_ptr(const struct bContext *C, struct PointerRNA *r_ptr);
|
||||||
|
|
||||||
|
|||||||
@@ -670,7 +670,7 @@ static eContextResult screen_ctx_active_nla_track(const bContext *C, bContextDat
|
|||||||
{
|
{
|
||||||
PointerRNA ptr;
|
PointerRNA ptr;
|
||||||
if (ANIM_nla_context_track_ptr(C, &ptr)) {
|
if (ANIM_nla_context_track_ptr(C, &ptr)) {
|
||||||
CTX_data_pointer_set(result, ptr.owner_id, ptr.type, ptr.data);
|
CTX_data_pointer_set_ptr(result, &ptr);
|
||||||
return CTX_RESULT_OK;
|
return CTX_RESULT_OK;
|
||||||
}
|
}
|
||||||
return CTX_RESULT_NO_DATA;
|
return CTX_RESULT_NO_DATA;
|
||||||
@@ -679,7 +679,7 @@ static eContextResult screen_ctx_active_nla_strip(const bContext *C, bContextDat
|
|||||||
{
|
{
|
||||||
PointerRNA ptr;
|
PointerRNA ptr;
|
||||||
if (ANIM_nla_context_strip_ptr(C, &ptr)) {
|
if (ANIM_nla_context_strip_ptr(C, &ptr)) {
|
||||||
CTX_data_pointer_set(result, ptr.owner_id, ptr.type, ptr.data);
|
CTX_data_pointer_set_ptr(result, &ptr);
|
||||||
return CTX_RESULT_OK;
|
return CTX_RESULT_OK;
|
||||||
}
|
}
|
||||||
return CTX_RESULT_NO_DATA;
|
return CTX_RESULT_NO_DATA;
|
||||||
@@ -741,7 +741,7 @@ static eContextResult screen_ctx_gpencil_data_owner(const bContext *C, bContextD
|
|||||||
bGPdata **gpd_ptr = ED_gpencil_data_get_pointers_direct(area, obact, &ptr);
|
bGPdata **gpd_ptr = ED_gpencil_data_get_pointers_direct(area, obact, &ptr);
|
||||||
|
|
||||||
if (gpd_ptr) {
|
if (gpd_ptr) {
|
||||||
CTX_data_pointer_set(result, ptr.owner_id, ptr.type, ptr.data);
|
CTX_data_pointer_set_ptr(result, &ptr);
|
||||||
return CTX_RESULT_OK;
|
return CTX_RESULT_OK;
|
||||||
}
|
}
|
||||||
return CTX_RESULT_NO_DATA;
|
return CTX_RESULT_NO_DATA;
|
||||||
@@ -773,7 +773,7 @@ static eContextResult screen_ctx_annotation_data_owner(const bContext *C,
|
|||||||
bGPdata **gpd_ptr = ED_annotation_data_get_pointers_direct((ID *)screen, area, scene, &ptr);
|
bGPdata **gpd_ptr = ED_annotation_data_get_pointers_direct((ID *)screen, area, scene, &ptr);
|
||||||
|
|
||||||
if (gpd_ptr) {
|
if (gpd_ptr) {
|
||||||
CTX_data_pointer_set(result, ptr.owner_id, ptr.type, ptr.data);
|
CTX_data_pointer_set_ptr(result, &ptr);
|
||||||
return CTX_RESULT_OK;
|
return CTX_RESULT_OK;
|
||||||
}
|
}
|
||||||
return CTX_RESULT_NO_DATA;
|
return CTX_RESULT_NO_DATA;
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ static int set_pointer_type(ButsContextPath *path, bContextDataResult *result, S
|
|||||||
PointerRNA *ptr = &path->ptr[i];
|
PointerRNA *ptr = &path->ptr[i];
|
||||||
|
|
||||||
if (RNA_struct_is_a(ptr->type, type)) {
|
if (RNA_struct_is_a(ptr->type, type)) {
|
||||||
CTX_data_pointer_set(result, ptr->owner_id, ptr->type, ptr->data);
|
CTX_data_pointer_set_ptr(result, ptr);
|
||||||
return CTX_RESULT_OK;
|
return CTX_RESULT_OK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1003,7 +1003,7 @@ int /*eContextResult*/ buttons_context(const bContext *C,
|
|||||||
|
|
||||||
if (ct->user && ct->user->ptr.data) {
|
if (ct->user && ct->user->ptr.data) {
|
||||||
ButsTextureUser *user = ct->user;
|
ButsTextureUser *user = ct->user;
|
||||||
CTX_data_pointer_set(result, user->ptr.owner_id, user->ptr.type, user->ptr.data);
|
CTX_data_pointer_set_ptr(result, &user->ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
return CTX_RESULT_OK;
|
return CTX_RESULT_OK;
|
||||||
@@ -1092,7 +1092,7 @@ int /*eContextResult*/ buttons_context(const bContext *C,
|
|||||||
PointerRNA *ptr = get_pointer_type(path, &RNA_ParticleSettings);
|
PointerRNA *ptr = get_pointer_type(path, &RNA_ParticleSettings);
|
||||||
|
|
||||||
if (ptr && ptr->data) {
|
if (ptr && ptr->data) {
|
||||||
CTX_data_pointer_set(result, ptr->owner_id, &RNA_ParticleSettings, ptr->data);
|
CTX_data_pointer_set_ptr(result, ptr);
|
||||||
return CTX_RESULT_OK;
|
return CTX_RESULT_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -706,7 +706,7 @@ int BPY_context_member_get(bContext *C, const char *member, bContextDataResult *
|
|||||||
ptr = &(((BPy_StructRNA *)item)->ptr);
|
ptr = &(((BPy_StructRNA *)item)->ptr);
|
||||||
|
|
||||||
// result->ptr = ((BPy_StructRNA *)item)->ptr;
|
// result->ptr = ((BPy_StructRNA *)item)->ptr;
|
||||||
CTX_data_pointer_set(result, ptr->owner_id, ptr->type, ptr->data);
|
CTX_data_pointer_set_ptr(result, ptr);
|
||||||
CTX_data_type_set(result, CTX_DATA_TYPE_POINTER);
|
CTX_data_type_set(result, CTX_DATA_TYPE_POINTER);
|
||||||
done = true;
|
done = true;
|
||||||
}
|
}
|
||||||
@@ -732,7 +732,7 @@ int BPY_context_member_get(bContext *C, const char *member, bContextDataResult *
|
|||||||
BLI_addtail(&result->list, link);
|
BLI_addtail(&result->list, link);
|
||||||
#endif
|
#endif
|
||||||
ptr = &(((BPy_StructRNA *)list_item)->ptr);
|
ptr = &(((BPy_StructRNA *)list_item)->ptr);
|
||||||
CTX_data_list_add(result, ptr->owner_id, ptr->type, ptr->data);
|
CTX_data_list_add_ptr(result, ptr);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
CLOG_INFO(BPY_LOG_CONTEXT,
|
CLOG_INFO(BPY_LOG_CONTEXT,
|
||||||
|
|||||||
Reference in New Issue
Block a user