Commit 9ef6111b authored by Eli Zaretskii's avatar Eli Zaretskii

Improve the fix for bug #14558.

 src/xdisp.c (note_mouse_highlight): When mouse-highlight is off,
 still need to set the mouse pointer shape and activate help-echo.
parent 7d300d64
2013-06-06 Eli Zaretskii <eliz@gnu.org>
* xdisp.c (note_mouse_highlight): When mouse-highlight is off,
still need to set the mouse pointer shape and activate help-echo.
(Bug#14558)
2013-06-06 Paul Eggert <eggert@cs.ucla.edu>
A few porting etc. fixes for the new file monitor code.
......
......@@ -27554,8 +27554,10 @@ note_mode_line_or_margin_highlight (Lisp_Object window, int x, int y,
/* EXPORT:
Take proper action when the mouse has moved to position X, Y on
frame F as regards highlighting characters that have mouse-face
properties. Also de-highlighting chars where the mouse was before.
frame F with regards to highlighting portions of display that have
mouse-face properties. Also de-highlight portions of display where
the mouse was before, set the mouse pointer shape as appropriate
for the mouse coordinates, and activate help echo (tooltips).
X and Y can be negative or out of range. */
void
......@@ -27665,8 +27667,7 @@ note_mouse_highlight (struct frame *f, int x, int y)
#ifdef HAVE_WINDOW_SYSTEM
/* Look for :pointer property on image. */
if (!NILP (Vmouse_highlight)
&& glyph != NULL && glyph->type == IMAGE_GLYPH)
if (glyph != NULL && glyph->type == IMAGE_GLYPH)
{
struct image *img = IMAGE_FROM_ID (f, glyph->u.img_id);
if (img != NULL && IMAGEP (img->spec))
......@@ -27709,8 +27710,7 @@ note_mouse_highlight (struct frame *f, int x, int y)
#endif /* HAVE_WINDOW_SYSTEM */
/* Clear mouse face if X/Y not over text. */
if (NILP (Vmouse_highlight)
|| glyph == NULL
if (glyph == NULL
|| area != TEXT_AREA
|| !MATRIX_ROW_DISPLAYS_TEXT_P (MATRIX_ROW (w->current_matrix, vpos))
/* Glyph's OBJECT is an integer for glyphs inserted by the
......@@ -27773,6 +27773,12 @@ note_mouse_highlight (struct frame *f, int x, int y)
else
noverlays = 0;
if (NILP (Vmouse_highlight))
{
clear_mouse_face (hlinfo);
goto check_help_echo;
}
same_region = coords_in_mouse_face_p (w, hpos, vpos);
if (same_region)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment