summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2021-03-12 08:47:41 -0800
committerGlenn Morris <rgm@gnu.org>2021-03-12 08:47:41 -0800
commit74c389526f93cc4eded6759ffd3e1cfa4d429d6f (patch)
treeb5904c644dc1701ed7214ce6e997d2252c25f2c5 /src
parentf7b7ecc4df7108da31625a3630cbbbdbec3abbd7 (diff)
parent2c5f21541957e2420e54ab2a70883140811708f7 (diff)
Merge from origin/emacs-27
2c5f215419 Avoid crashes in Mew due to corrupted tool-bar label 7a23915618 * lisp/tooltip.el (tooltip): Doc fix for GTK. c4bbe02cc4 * lisp/help.el (help-for-help-internal): Doc fix; use impe... # Conflicts: # lisp/help.el # lisp/tooltip.el
Diffstat (limited to 'src')
-rw-r--r--src/gtkutil.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/gtkutil.c b/src/gtkutil.c
index 11e59b9fae5..4634c35dd4c 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -5014,11 +5014,10 @@ update_frame_tool_bar (struct frame *f)
GtkWidget *wbutton = NULL;
Lisp_Object specified_file;
bool vert_only = ! NILP (PROP (TOOL_BAR_ITEM_VERT_ONLY));
- const char *label
- = (EQ (style, Qimage) || (vert_only && horiz)) ? NULL
- : STRINGP (PROP (TOOL_BAR_ITEM_LABEL))
- ? SSDATA (PROP (TOOL_BAR_ITEM_LABEL))
- : "";
+ Lisp_Object label
+ = (EQ (style, Qimage) || (vert_only && horiz))
+ ? Qnil
+ : PROP (TOOL_BAR_ITEM_LABEL);
ti = gtk_toolbar_get_nth_item (GTK_TOOLBAR (wtoolbar), j);
@@ -5131,8 +5130,11 @@ update_frame_tool_bar (struct frame *f)
/* If there is an existing widget, check if it's stale; if so,
remove it and make a new tool item from scratch. */
- if (ti && xg_tool_item_stale_p (wbutton, stock_name, icon_name,
- img, label, horiz))
+ if (ti && xg_tool_item_stale_p (wbutton, stock_name, icon_name, img,
+ NILP (label)
+ ? NULL
+ : STRINGP (label) ? SSDATA (label) : "",
+ horiz))
{
gtk_container_remove (GTK_CONTAINER (wtoolbar),
GTK_WIDGET (ti));
@@ -5189,7 +5191,11 @@ update_frame_tool_bar (struct frame *f)
#else
if (w) gtk_misc_set_padding (GTK_MISC (w), hmargin, vmargin);
#endif
- ti = xg_make_tool_item (f, w, &wbutton, label, i, horiz, text_image);
+ ti = xg_make_tool_item (f, w, &wbutton,
+ NILP (label)
+ ? NULL
+ : STRINGP (label) ? SSDATA (label) : "",
+ i, horiz, text_image);
gtk_toolbar_insert (GTK_TOOLBAR (wtoolbar), ti, j);
}