aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2013-06-06 19:35:31 +0300
committerEli Zaretskii2013-06-06 19:35:31 +0300
commit9ef6111b7cab7e28e74c0763696a38b34285dc4f (patch)
treeb2e4a0cb4da2fd282ec98bd72ed2a943701ffbc4
parent7d300d644cc3c1595d2ac67e37fde1d3d865af24 (diff)
downloademacs-9ef6111b7cab7e28e74c0763696a38b34285dc4f.tar.gz
emacs-9ef6111b7cab7e28e74c0763696a38b34285dc4f.zip
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.
-rw-r--r--src/ChangeLog6
-rw-r--r--src/xdisp.c18
2 files changed, 18 insertions, 6 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 11aaef4d2e8..3b65ff105e9 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
12013-06-06 Eli Zaretskii <eliz@gnu.org>
2
3 * xdisp.c (note_mouse_highlight): When mouse-highlight is off,
4 still need to set the mouse pointer shape and activate help-echo.
5 (Bug#14558)
6
12013-06-06 Paul Eggert <eggert@cs.ucla.edu> 72013-06-06 Paul Eggert <eggert@cs.ucla.edu>
2 8
3 A few porting etc. fixes for the new file monitor code. 9 A few porting etc. fixes for the new file monitor code.
diff --git a/src/xdisp.c b/src/xdisp.c
index 17001c81b53..6e391350816 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -27554,8 +27554,10 @@ note_mode_line_or_margin_highlight (Lisp_Object window, int x, int y,
27554 27554
27555/* EXPORT: 27555/* EXPORT:
27556 Take proper action when the mouse has moved to position X, Y on 27556 Take proper action when the mouse has moved to position X, Y on
27557 frame F as regards highlighting characters that have mouse-face 27557 frame F with regards to highlighting portions of display that have
27558 properties. Also de-highlighting chars where the mouse was before. 27558 mouse-face properties. Also de-highlight portions of display where
27559 the mouse was before, set the mouse pointer shape as appropriate
27560 for the mouse coordinates, and activate help echo (tooltips).
27559 X and Y can be negative or out of range. */ 27561 X and Y can be negative or out of range. */
27560 27562
27561void 27563void
@@ -27665,8 +27667,7 @@ note_mouse_highlight (struct frame *f, int x, int y)
27665 27667
27666#ifdef HAVE_WINDOW_SYSTEM 27668#ifdef HAVE_WINDOW_SYSTEM
27667 /* Look for :pointer property on image. */ 27669 /* Look for :pointer property on image. */
27668 if (!NILP (Vmouse_highlight) 27670 if (glyph != NULL && glyph->type == IMAGE_GLYPH)
27669 && glyph != NULL && glyph->type == IMAGE_GLYPH)
27670 { 27671 {
27671 struct image *img = IMAGE_FROM_ID (f, glyph->u.img_id); 27672 struct image *img = IMAGE_FROM_ID (f, glyph->u.img_id);
27672 if (img != NULL && IMAGEP (img->spec)) 27673 if (img != NULL && IMAGEP (img->spec))
@@ -27709,8 +27710,7 @@ note_mouse_highlight (struct frame *f, int x, int y)
27709#endif /* HAVE_WINDOW_SYSTEM */ 27710#endif /* HAVE_WINDOW_SYSTEM */
27710 27711
27711 /* Clear mouse face if X/Y not over text. */ 27712 /* Clear mouse face if X/Y not over text. */
27712 if (NILP (Vmouse_highlight) 27713 if (glyph == NULL
27713 || glyph == NULL
27714 || area != TEXT_AREA 27714 || area != TEXT_AREA
27715 || !MATRIX_ROW_DISPLAYS_TEXT_P (MATRIX_ROW (w->current_matrix, vpos)) 27715 || !MATRIX_ROW_DISPLAYS_TEXT_P (MATRIX_ROW (w->current_matrix, vpos))
27716 /* Glyph's OBJECT is an integer for glyphs inserted by the 27716 /* 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)
27773 else 27773 else
27774 noverlays = 0; 27774 noverlays = 0;
27775 27775
27776 if (NILP (Vmouse_highlight))
27777 {
27778 clear_mouse_face (hlinfo);
27779 goto check_help_echo;
27780 }
27781
27776 same_region = coords_in_mouse_face_p (w, hpos, vpos); 27782 same_region = coords_in_mouse_face_p (w, hpos, vpos);
27777 27783
27778 if (same_region) 27784 if (same_region)