[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

[MD:2066]mouse-face left activated when mouse goes menu-bar.



ほりぐちです. なんかよかったみたいですね > 土曜日.

 Mew で mew-use-highlight-mouse-line をしていると, マウスカーソル
をサマリの一番上の行のさらに上(普通はメニューバー)に持っていくと
サマリの1行目がハイライトしたままになってしまうのが気になったので
直してみました.

 SETCURSOR の副作用として処理をやっているのがなんとも苦しいんですが...

-- 
堀口恭太郎
Index: mw32fns.c
===================================================================
RCS file: /usr/local/Meadow/cvsroot/Meadow/src/mw32fns.c,v
retrieving revision 1.21.2.5
diff -u -2 -r1.21.2.5 mw32fns.c
--- mw32fns.c	2001/03/05 01:57:20	1.21.2.5
+++ mw32fns.c	2001/03/06 01:55:18
@@ -2438,4 +2438,10 @@
     break;
 
+  case WM_SETCURSOR:
+    if(LOWORD (lParam) != HTCLIENT)
+      PostMessage (hwnd, WM_EMACS_CLEAR_MOUSE_FACE, 
+		   (WPARAM) 0, (LPARAM) 0);
+     goto dflt;
+
 #if 0
 
Index: mw32term.c
===================================================================
RCS file: /usr/local/Meadow/cvsroot/Meadow/src/mw32term.c,v
retrieving revision 1.19.2.5
diff -u -2 -r1.19.2.5 mw32term.c
--- mw32term.c	2001/02/23 11:59:59	1.19.2.5
+++ mw32term.c	2001/03/06 01:55:28
@@ -2211,4 +2211,10 @@
       return;
     }
+  
+  if (x < 0 && y < 0)
+    {
+      clear_mouse_face();
+      return;
+    }
 
   /* Find out which glyph the mouse is on.  */
@@ -3729,4 +3735,8 @@
 #endif
 
+	case WM_EMACS_CLEAR_MOUSE_FACE:
+	  note_mouse_highlight(f, -1, -1);
+	  break;
+	  
 	case WM_EMACS_DESTROY:
 	  assert (numchars > 0);
Index: mw32term.h
===================================================================
RCS file: /usr/local/Meadow/cvsroot/Meadow/src/mw32term.h,v
retrieving revision 1.6.2.3
diff -u -2 -r1.6.2.3 mw32term.h
--- mw32term.h	2001/02/23 11:59:59	1.6.2.3
+++ mw32term.h	2001/03/06 01:55:29
@@ -612,4 +612,5 @@
 #define WM_EMACS_FLASH_WINDOW                      (WM_USER+2008)
 #define WM_EMACS_SETCARET                          (WM_USER+2009)
+#define WM_EMACS_CLEAR_MOUSE_FACE                  (WM_USER+2010)
 /* to report "switch-buffer" event by himi */
 #define WM_IME_REPORT     0x0280