emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/w32term.c


From: Kim F. Storm
Subject: [Emacs-diffs] Changes to emacs/src/w32term.c
Date: Sat, 16 Feb 2002 18:59:23 -0500

Index: emacs/src/w32term.c
diff -c emacs/src/w32term.c:1.141 emacs/src/w32term.c:1.142
*** emacs/src/w32term.c:1.141   Wed Feb  6 15:57:44 2002
--- emacs/src/w32term.c Sat Feb 16 18:59:22 2002
***************
*** 6314,6324 ****
      }
  }
  
- /* This is used for debugging, to turn off note_mouse_highlight.  */
- 
- int disable_mouse_highlight;
- 
- 
  
  /************************************************************************
                              Mouse Face
--- 6314,6319 ----
***************
*** 6535,6541 ****
    if (popup_activated ())
      return;
  
!   if (disable_mouse_highlight
        || !f->glyphs_initialized_p)
      return;
  
--- 6530,6536 ----
    if (popup_activated ())
      return;
  
!   if (NILP (Vmouse_highlight)
        || !f->glyphs_initialized_p)
      return;
  
***************
*** 7444,7449 ****
--- 7439,7446 ----
    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,8647 ****
--- 8639,8650 ----
          
          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,8668 ****
--- 8666,8677 ----
          
          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,8694 ****
--- 8698,8709 ----
          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,10857 ****
--- 10867,10873 ----
    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 */
  
  }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]