Commit: 744eb1172e3ba16af21813de6c1e772490a68b91
Author: Germano Cavalcante
Date:   Fri Aug 28 17:09:09 2020 -0300
Branches: master
https://developer.blender.org/rB744eb1172e3ba16af21813de6c1e772490a68b91

Fix T80195: crash when invoking tooltips on MacOS

Problem introduced in rBadd48c007428.
`UI_but_string_info_get` can change the value of the args.

===================================================================

M       source/blender/editors/interface/interface_context_menu.c
M       source/blender/editors/interface/interface_ops.c
M       source/blender/editors/interface/interface_region_tooltip.c

===================================================================

diff --git a/source/blender/editors/interface/interface_context_menu.c 
b/source/blender/editors/interface/interface_context_menu.c
index 9889c81ca55..02a9c3742d7 100644
--- a/source/blender/editors/interface/interface_context_menu.c
+++ b/source/blender/editors/interface/interface_context_menu.c
@@ -517,7 +517,7 @@ bool ui_popup_context_menu_for_button(bContext *C, uiBut 
*but)
   uiLayout *layout;
 
   {
-    const uiStringInfo label = {BUT_GET_LABEL, NULL};
+    uiStringInfo label = {BUT_GET_LABEL, NULL};
 
     /* highly unlikely getting the label ever fails */
     UI_but_string_info_get(C, but, &label, NULL);
diff --git a/source/blender/editors/interface/interface_ops.c 
b/source/blender/editors/interface/interface_ops.c
index 82e6e01056c..d6919fb4de7 100644
--- a/source/blender/editors/interface/interface_ops.c
+++ b/source/blender/editors/interface/interface_ops.c
@@ -1474,16 +1474,16 @@ static int edittranslation_exec(bContext *C, wmOperator 
*op)
     const char *root = U.i18ndir;
     const char *uilng = BLT_lang_get();
 
-    const uiStringInfo but_label = {BUT_GET_LABEL, NULL};
-    const uiStringInfo rna_label = {BUT_GET_RNA_LABEL, NULL};
-    const uiStringInfo enum_label = {BUT_GET_RNAENUM_LABEL, NULL};
-    const uiStringInfo but_tip = {BUT_GET_TIP, NULL};
-    const uiStringInfo rna_tip = {BUT_GET_RNA_TIP, NULL};
-    const uiStringInfo enum_tip = {BUT_GET_RNAENUM_TIP, NULL};
-    const uiStringInfo rna_struct = {BUT_GET_RNASTRUCT_IDENTIFIER, NULL};
-    const uiStringInfo rna_prop = {BUT_GET_RNAPROP_IDENTIFIER, NULL};
-    const uiStringInfo rna_enum = {BUT_GET_RNAENUM_IDENTIFIER, NULL};
-    const uiStringInfo rna_ctxt = {BUT_GET_RNA_LABEL_CONTEXT, NULL};
+    uiStringInfo but_label = {BUT_GET_LABEL, NULL};
+    uiStringInfo rna_label = {BUT_GET_RNA_LABEL, NULL};
+    uiStringInfo enum_label = {BUT_GET_RNAENUM_LABEL, NULL};
+    uiStringInfo but_tip = {BUT_GET_TIP, NULL};
+    uiStringInfo rna_tip = {BUT_GET_RNA_TIP, NULL};
+    uiStringInfo enum_tip = {BUT_GET_RNAENUM_TIP, NULL};
+    uiStringInfo rna_struct = {BUT_GET_RNASTRUCT_IDENTIFIER, NULL};
+    uiStringInfo rna_prop = {BUT_GET_RNAPROP_IDENTIFIER, NULL};
+    uiStringInfo rna_enum = {BUT_GET_RNAENUM_IDENTIFIER, NULL};
+    uiStringInfo rna_ctxt = {BUT_GET_RNA_LABEL_CONTEXT, NULL};
 
     if (!BLI_is_dir(root)) {
       BKE_report(op->reports,
diff --git a/source/blender/editors/interface/interface_region_tooltip.c 
b/source/blender/editors/interface/interface_region_tooltip.c
index afeeb4cedc9..b3a65e024f3 100644
--- a/source/blender/editors/interface/interface_region_tooltip.c
+++ b/source/blender/editors/interface/interface_region_tooltip.c
@@ -535,7 +535,7 @@ static uiTooltipData *ui_tooltip_data_from_tool(bContext 
*C, uiBut *but, bool is
     char *shortcut = NULL;
 
     {
-      const uiStringInfo op_keymap = {BUT_GET_OP_KEYMAP, NULL};
+      uiStringInfo op_keymap = {BUT_GET_OP_KEYMAP, NULL};
       UI_but_string_info_get(C, but, &op_keymap, NULL);
       shortcut = op_keymap.strinfo;
     }
@@ -768,14 +768,14 @@ static uiTooltipData *ui_tooltip_data_from_tool(bContext 
*C, uiBut *but, bool is
 
 static uiTooltipData *ui_tooltip_data_from_button(bContext *C, uiBut *but)
 {
-  const uiStringInfo but_label = {BUT_GET_LABEL, NULL};
-  const uiStringInfo but_tip = {BUT_GET_TIP, NULL};
-  const uiStringInfo enum_label = {BUT_GET_RNAENUM_LABEL, NULL};
-  const uiStringInfo enum_tip = {BUT_GET_RNAENUM_TIP, NULL};
-  const uiStringInfo op_keymap = {BUT_GET_OP_KEYMAP, NULL};
-  const uiStringInfo prop_keymap = {BUT_GET_PROP_KEYMAP, NULL};
-  const uiStringInfo rna_struct = {BUT_GET_RNASTRUCT_IDENTIFIER, NULL};
-  const uiStringInfo rna_prop = {BUT_GET_RNAPROP_IDENTIFIER, NULL};
+  uiStringInfo but_label = {BUT_GET_LABEL, NULL};
+  uiStringInfo but_tip = {BUT_GET_TIP, NULL};
+  uiStringInfo enum_label = {BUT_GET_RNAENUM_LABEL, NULL};
+  uiStringInfo enum_tip = {BUT_GET_RNAENUM_TIP, NULL};
+  uiStringInfo op_keymap = {BUT_GET_OP_KEYMAP, NULL};
+  uiStringInfo prop_keymap = {BUT_GET_PROP_KEYMAP, NULL};
+  uiStringInfo rna_struct = {BUT_GET_RNASTRUCT_IDENTIFIER, NULL};
+  uiStringInfo rna_prop = {BUT_GET_RNAPROP_IDENTIFIER, NULL};
 
   char buf[512];

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to