Commit: 61678ca8ae8013a572b343bb772f2fd8e52243ad
Author: Campbell Barton
Date: Tue Dec 4 15:11:26 2018 +1100
Branches: blender2.8
https://developer.blender.org/rB61678ca8ae8013a572b343bb772f2fd8e52243ad
Fix T57076: Remove property from favourites menu fails
===================================================================
M source/blender/editors/interface/interface_context_menu.c
===================================================================
diff --git a/source/blender/editors/interface/interface_context_menu.c
b/source/blender/editors/interface/interface_context_menu.c
index 5f7cd68a875..111aa64e771 100644
--- a/source/blender/editors/interface/interface_context_menu.c
+++ b/source/blender/editors/interface/interface_context_menu.c
@@ -235,9 +235,21 @@ static bUserMenuItem *ui_but_user_menu_find(bContext *C,
uiBut *but, bUserMenu *
}
else if (but->rnaprop) {
const char *member_id = WM_context_member_from_ptr(C,
&but->rnapoin);
+ const char *data_path =
RNA_path_from_ID_to_struct(&but->rnapoin);
+ const char *member_id_data_path = member_id;
+ if (data_path) {
+ member_id_data_path = BLI_sprintfN("%s.%s", member_id,
data_path);
+ }
const char *prop_id = RNA_property_identifier(but->rnaprop);
- return (bUserMenuItem *)ED_screen_user_menu_item_find_prop(
- &um->items, member_id, prop_id, but->rnaindex);
+ bUserMenuItem *umi = (bUserMenuItem
*)ED_screen_user_menu_item_find_prop(
+ &um->items, member_id_data_path, prop_id,
but->rnaindex);
+ if (data_path) {
+ MEM_freeN((void *)data_path);
+ }
+ if (member_id != member_id_data_path) {
+ MEM_freeN((void *)member_id_data_path);
+ }
+ return umi;
}
else if ((mt = UI_but_menutype_get(but))) {
return (bUserMenuItem *)ED_screen_user_menu_item_find_menu(
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs