From: Gerd Moellmann Date: Sat, 17 Nov 2001 10:48:51 +0000 (+0000) Subject: (tool_bar_item_info): Avoid calling Fget_text_property X-Git-Tag: emacs-21.2~301 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=44016144fdd950acf47e3a40dad2ea7bb067ca56;p=emacs.git (tool_bar_item_info): Avoid calling Fget_text_property with invalid position. --- diff --git a/src/ChangeLog b/src/ChangeLog index 9899ee2b1b4..3be8709b36c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2001-11-17 Gerd Moellmann + + * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property + with invalid position. + 2001-11-16 Eli Zaretskii * syswait.h (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by diff --git a/src/xdisp.c b/src/xdisp.c index 471ffbc8b4a..6ff8e9c1cde 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -7945,11 +7945,18 @@ tool_bar_item_info (f, glyph, prop_idx) { Lisp_Object prop; int success_p; + int charpos; + + /* This function can be called asynchronously, which means we must + exclude any possibility that Fget_text_property signals an + error. */ + charpos = min (XSTRING (f->current_tool_bar_string)->size, glyph->charpos); + charpos = max (0, charpos); /* Get the text property `menu-item' at pos. The value of that property is the start index of this item's properties in F->tool_bar_items. */ - prop = Fget_text_property (make_number (glyph->charpos), + prop = Fget_text_property (make_number (charpos), Qmenu_item, f->current_tool_bar_string); if (INTEGERP (prop)) {