Mercurial > emacs
changeset 43373:44e2e2c9154f
(disable_mouse_highlight): Removed variable.
(note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
(show_mouse_face): Don't show highlight if mouse_face_hidden is set.
(w32_read_socket): Turn mouse_face_hidden off after mouse movement,
and on after keyboard input.
(w32_initialize_display_info): Initialize mouse_face_hidden.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Sat, 16 Feb 2002 23:59:22 +0000 |
parents | e1a8a3f02251 |
children | 0bee8a661e55 |
files | src/w32term.c |
diffstat | 1 files changed, 22 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/w32term.c Sat Feb 16 23:58:23 2002 +0000 +++ b/src/w32term.c Sat Feb 16 23:59:22 2002 +0000 @@ -6314,11 +6314,6 @@ } } -/* This is used for debugging, to turn off note_mouse_highlight. */ - -int disable_mouse_highlight; - - /************************************************************************ Mouse Face @@ -6535,7 +6530,7 @@ if (popup_activated ()) return; - if (disable_mouse_highlight + if (NILP (Vmouse_highlight) || !f->glyphs_initialized_p) return; @@ -7444,6 +7439,8 @@ if (/* If window is in the process of being destroyed, don't bother to do anything. */ w->current_matrix != NULL + /* Don't update mouse highlight if hidden */ + && (draw != DRAW_MOUSE_FACE || !dpyinfo->mouse_face_hidden) /* Recognize when we are called to operate on rows that don't exist anymore. This can happen when a window is split. */ && dpyinfo->mouse_face_end_row < w->current_matrix->nrows) @@ -8642,6 +8639,12 @@ if (f && !f->iconified) { + if (!dpyinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight)) + { + dpyinfo->mouse_face_hidden = 1; + clear_mouse_face (dpyinfo); + } + if (temp_index == sizeof temp_buffer / sizeof (short)) temp_index = 0; temp_buffer[temp_index++] = msg.msg.wParam; @@ -8663,6 +8666,12 @@ if (f && !f->iconified) { + if (!dpyinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight)) + { + dpyinfo->mouse_face_hidden = 1; + clear_mouse_face (dpyinfo); + } + if (temp_index == sizeof temp_buffer / sizeof (short)) temp_index = 0; temp_buffer[temp_index++] = msg.msg.wParam; @@ -8689,6 +8698,12 @@ else f = x_window_to_frame (dpyinfo, msg.msg.hwnd); + if (dpyinfo->mouse_face_hidden) + { + dpyinfo->mouse_face_hidden = 0; + clear_mouse_face (dpyinfo); + } + if (f) note_mouse_movement (f, &msg.msg); else @@ -10852,6 +10867,7 @@ dpyinfo->mouse_face_face_id = DEFAULT_FACE_ID; dpyinfo->mouse_face_window = Qnil; dpyinfo->mouse_face_overlay = Qnil; + dpyinfo->mouse_face_hidden = 0; /* TODO: dpyinfo->gray */ }