aboutsummaryrefslogtreecommitdiffstats
path: root/src/w32term.c
diff options
context:
space:
mode:
authorKaroly Lorentey2006-03-15 17:22:12 +0000
committerKaroly Lorentey2006-03-15 17:22:12 +0000
commitb336ee388ed5300440e7bab24bf9eec9f250911a (patch)
tree62c9058bd403d158d7d18d1cbd4ead3abf36a7aa /src/w32term.c
parent47f3c6b4dbed851762dca99273d78642c3794188 (diff)
parent4034b0e259dd59eda180bd0683876c9d0110f719 (diff)
downloademacs-b336ee388ed5300440e7bab24bf9eec9f250911a.tar.gz
emacs-b336ee388ed5300440e7bab24bf9eec9f250911a.zip
Merged from emacs@sv.gnu.org
Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-153 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-154 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-155 Remove nick-abbrevs stuff from rcirc.el * emacs@sv.gnu.org/emacs--devo--0--patch-156 rcirc.el update from Ryan Yeske * emacs@sv.gnu.org/emacs--devo--0--patch-157 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-158 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-159 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-532
Diffstat (limited to 'src/w32term.c')
-rw-r--r--src/w32term.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/src/w32term.c b/src/w32term.c
index bd04f0cb4b5..d7c9bc8c159 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -183,6 +183,7 @@ int last_scroll_bar_drag_pos;
183/* Where the mouse was last time we reported a mouse event. */ 183/* Where the mouse was last time we reported a mouse event. */
184 184
185static RECT last_mouse_glyph; 185static RECT last_mouse_glyph;
186static FRAME_PTR last_mouse_glyph_frame;
186static Lisp_Object last_mouse_press_frame; 187static Lisp_Object last_mouse_press_frame;
187 188
188int w32_num_mouse_buttons; 189int w32_num_mouse_buttons;
@@ -3221,11 +3222,13 @@ note_mouse_movement (frame, msg)
3221 frame->mouse_moved = 1; 3222 frame->mouse_moved = 1;
3222 last_mouse_scroll_bar = Qnil; 3223 last_mouse_scroll_bar = Qnil;
3223 note_mouse_highlight (frame, -1, -1); 3224 note_mouse_highlight (frame, -1, -1);
3225 last_mouse_glyph_frame = 0;
3224 return 1; 3226 return 1;
3225 } 3227 }
3226 3228
3227 /* Has the mouse moved off the glyph it was on at the last sighting? */ 3229 /* Has the mouse moved off the glyph it was on at the last sighting? */
3228 if (mouse_x < last_mouse_glyph.left 3230 if (frame != last_mouse_glyph_frame
3231 || mouse_x < last_mouse_glyph.left
3229 || mouse_x >= last_mouse_glyph.right 3232 || mouse_x >= last_mouse_glyph.right
3230 || mouse_y < last_mouse_glyph.top 3233 || mouse_y < last_mouse_glyph.top
3231 || mouse_y >= last_mouse_glyph.bottom) 3234 || mouse_y >= last_mouse_glyph.bottom)
@@ -3238,6 +3241,7 @@ note_mouse_movement (frame, msg)
3238 to keep track of the mouse for help_echo and highlighting at 3241 to keep track of the mouse for help_echo and highlighting at
3239 other times. */ 3242 other times. */
3240 remember_mouse_glyph (frame, mouse_x, mouse_y, &last_mouse_glyph); 3243 remember_mouse_glyph (frame, mouse_x, mouse_y, &last_mouse_glyph);
3244 last_mouse_glyph_frame = frame;
3241 return 1; 3245 return 1;
3242 } 3246 }
3243 3247
@@ -3361,19 +3365,9 @@ w32_mouse_position (fp, insist, bar_window, part, x, y, time)
3361 on it, i.e. into the same rectangles that matrices on 3365 on it, i.e. into the same rectangles that matrices on
3362 the frame are divided into. */ 3366 the frame are divided into. */
3363 3367
3364#if OLD_REDISPLAY_CODE
3365 int ignore1, ignore2;
3366
3367 ScreenToClient (FRAME_W32_WINDOW (f1), &pt);
3368
3369 pixel_to_glyph_coords (f1, pt.x, pt.y, &ignore1, &ignore2,
3370 &last_mouse_glyph,
3371 FRAME_W32_DISPLAY_INFO (f1)->grabbed
3372 || insist);
3373#else
3374 ScreenToClient (FRAME_W32_WINDOW (f1), &pt); 3368 ScreenToClient (FRAME_W32_WINDOW (f1), &pt);
3375 remember_mouse_glyph (f1, pt.x, pt.y, &last_mouse_glyph); 3369 remember_mouse_glyph (f1, pt.x, pt.y, &last_mouse_glyph);
3376#endif 3370 last_mouse_glyph_frame = f1;
3377 3371
3378 *bar_window = Qnil; 3372 *bar_window = Qnil;
3379 *part = 0; 3373 *part = 0;