aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/w32term.c28
1 files changed, 22 insertions, 6 deletions
diff --git a/src/w32term.c b/src/w32term.c
index 4aa221e7c34..c9fa8e99335 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -6314,11 +6314,6 @@ note_mouse_movement (frame, msg)
6314 } 6314 }
6315} 6315}
6316 6316
6317/* This is used for debugging, to turn off note_mouse_highlight. */
6318
6319int disable_mouse_highlight;
6320
6321
6322 6317
6323/************************************************************************ 6318/************************************************************************
6324 Mouse Face 6319 Mouse Face
@@ -6535,7 +6530,7 @@ note_mouse_highlight (f, x, y)
6535 if (popup_activated ()) 6530 if (popup_activated ())
6536 return; 6531 return;
6537 6532
6538 if (disable_mouse_highlight 6533 if (NILP (Vmouse_highlight)
6539 || !f->glyphs_initialized_p) 6534 || !f->glyphs_initialized_p)
6540 return; 6535 return;
6541 6536
@@ -7444,6 +7439,8 @@ show_mouse_face (dpyinfo, draw)
7444 if (/* If window is in the process of being destroyed, don't bother 7439 if (/* If window is in the process of being destroyed, don't bother
7445 to do anything. */ 7440 to do anything. */
7446 w->current_matrix != NULL 7441 w->current_matrix != NULL
7442 /* Don't update mouse highlight if hidden */
7443 && (draw != DRAW_MOUSE_FACE || !dpyinfo->mouse_face_hidden)
7447 /* Recognize when we are called to operate on rows that don't exist 7444 /* Recognize when we are called to operate on rows that don't exist
7448 anymore. This can happen when a window is split. */ 7445 anymore. This can happen when a window is split. */
7449 && dpyinfo->mouse_face_end_row < w->current_matrix->nrows) 7446 && dpyinfo->mouse_face_end_row < w->current_matrix->nrows)
@@ -8642,6 +8639,12 @@ w32_read_socket (sd, bufp, numchars, expected)
8642 8639
8643 if (f && !f->iconified) 8640 if (f && !f->iconified)
8644 { 8641 {
8642 if (!dpyinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight))
8643 {
8644 dpyinfo->mouse_face_hidden = 1;
8645 clear_mouse_face (dpyinfo);
8646 }
8647
8645 if (temp_index == sizeof temp_buffer / sizeof (short)) 8648 if (temp_index == sizeof temp_buffer / sizeof (short))
8646 temp_index = 0; 8649 temp_index = 0;
8647 temp_buffer[temp_index++] = msg.msg.wParam; 8650 temp_buffer[temp_index++] = msg.msg.wParam;
@@ -8663,6 +8666,12 @@ w32_read_socket (sd, bufp, numchars, expected)
8663 8666
8664 if (f && !f->iconified) 8667 if (f && !f->iconified)
8665 { 8668 {
8669 if (!dpyinfo->mouse_face_hidden && INTEGERP (Vmouse_highlight))
8670 {
8671 dpyinfo->mouse_face_hidden = 1;
8672 clear_mouse_face (dpyinfo);
8673 }
8674
8666 if (temp_index == sizeof temp_buffer / sizeof (short)) 8675 if (temp_index == sizeof temp_buffer / sizeof (short))
8667 temp_index = 0; 8676 temp_index = 0;
8668 temp_buffer[temp_index++] = msg.msg.wParam; 8677 temp_buffer[temp_index++] = msg.msg.wParam;
@@ -8689,6 +8698,12 @@ w32_read_socket (sd, bufp, numchars, expected)
8689 else 8698 else
8690 f = x_window_to_frame (dpyinfo, msg.msg.hwnd); 8699 f = x_window_to_frame (dpyinfo, msg.msg.hwnd);
8691 8700
8701 if (dpyinfo->mouse_face_hidden)
8702 {
8703 dpyinfo->mouse_face_hidden = 0;
8704 clear_mouse_face (dpyinfo);
8705 }
8706
8692 if (f) 8707 if (f)
8693 note_mouse_movement (f, &msg.msg); 8708 note_mouse_movement (f, &msg.msg);
8694 else 8709 else
@@ -10852,6 +10867,7 @@ w32_initialize_display_info (display_name)
10852 dpyinfo->mouse_face_face_id = DEFAULT_FACE_ID; 10867 dpyinfo->mouse_face_face_id = DEFAULT_FACE_ID;
10853 dpyinfo->mouse_face_window = Qnil; 10868 dpyinfo->mouse_face_window = Qnil;
10854 dpyinfo->mouse_face_overlay = Qnil; 10869 dpyinfo->mouse_face_overlay = Qnil;
10870 dpyinfo->mouse_face_hidden = 0;
10855 /* TODO: dpyinfo->gray */ 10871 /* TODO: dpyinfo->gray */
10856 10872
10857} 10873}