[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/w32term.c
From: |
Jason Rumney |
Subject: |
[Emacs-diffs] Changes to emacs/src/w32term.c |
Date: |
Sun, 12 Mar 2006 14:56:55 +0000 |
Index: emacs/src/w32term.c
diff -u emacs/src/w32term.c:1.239 emacs/src/w32term.c:1.240
--- emacs/src/w32term.c:1.239 Sat Mar 11 16:02:38 2006
+++ emacs/src/w32term.c Sun Mar 12 14:56:54 2006
@@ -183,6 +183,7 @@
/* Where the mouse was last time we reported a mouse event. */
static RECT last_mouse_glyph;
+static FRAME_PTR last_mouse_glyph_frame;
static Lisp_Object last_mouse_press_frame;
int w32_num_mouse_buttons;
@@ -3221,11 +3222,13 @@
frame->mouse_moved = 1;
last_mouse_scroll_bar = Qnil;
note_mouse_highlight (frame, -1, -1);
+ last_mouse_glyph_frame = 0;
return 1;
}
/* Has the mouse moved off the glyph it was on at the last sighting? */
- if (mouse_x < last_mouse_glyph.left
+ if (frame != last_mouse_glyph_frame
+ || mouse_x < last_mouse_glyph.left
|| mouse_x >= last_mouse_glyph.right
|| mouse_y < last_mouse_glyph.top
|| mouse_y >= last_mouse_glyph.bottom)
@@ -3238,6 +3241,7 @@
to keep track of the mouse for help_echo and highlighting at
other times. */
remember_mouse_glyph (frame, mouse_x, mouse_y, &last_mouse_glyph);
+ last_mouse_glyph_frame = frame;
return 1;
}
@@ -3361,19 +3365,9 @@
on it, i.e. into the same rectangles that matrices on
the frame are divided into. */
-#if OLD_REDISPLAY_CODE
- int ignore1, ignore2;
-
- ScreenToClient (FRAME_W32_WINDOW (f1), &pt);
-
- pixel_to_glyph_coords (f1, pt.x, pt.y, &ignore1, &ignore2,
- &last_mouse_glyph,
- FRAME_W32_DISPLAY_INFO (f1)->grabbed
- || insist);
-#else
ScreenToClient (FRAME_W32_WINDOW (f1), &pt);
remember_mouse_glyph (f1, pt.x, pt.y, &last_mouse_glyph);
-#endif
+ last_mouse_glyph_frame = f1;
*bar_window = Qnil;
*part = 0;