Mercurial > emacs
changeset 66396:afc5a296f79d
Undo 2005-10-23 change.
(last_mouse_glyph_frame): New var.
(note_mouse_movement): Say mouse moved if current frame differs
from last_mouse_glyph_frame, and update last_mouse_glyph_frame.
(XTmouse_position): Set last_mouse_glyph_frame.
(handle_one_xevent): Clear last_mouse_glyph_frame [instead of
last_mouse_glyph] on mouse up/down event.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Mon, 24 Oct 2005 14:59:42 +0000 |
parents | d47fc05e98ec |
children | 768dad162d9e |
files | src/xterm.c |
diffstat | 1 files changed, 8 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xterm.c Mon Oct 24 14:59:29 2005 +0000 +++ b/src/xterm.c Mon Oct 24 14:59:42 2005 +0000 @@ -249,6 +249,7 @@ /* Where the mouse was last time we reported a mouse event. */ static XRectangle last_mouse_glyph; +static FRAME_PTR last_mouse_glyph_frame; static Lisp_Object last_mouse_press_frame; /* The scroll bar in which the last X motion event occurred. @@ -3596,21 +3597,24 @@ frame->mouse_moved = 1; last_mouse_scroll_bar = Qnil; note_mouse_highlight (frame, -1, -1); + last_mouse_glyph_frame = 0; return 1; } - note_mouse_highlight (frame, event->x, event->y); /* Has the mouse moved off the glyph it was on at the last sighting? */ - if (event->x < last_mouse_glyph.x + if (frame != last_mouse_glyph_frame + || event->x < last_mouse_glyph.x || event->x >= last_mouse_glyph.x + last_mouse_glyph.width || event->y < last_mouse_glyph.y || event->y >= last_mouse_glyph.y + last_mouse_glyph.height) { frame->mouse_moved = 1; last_mouse_scroll_bar = Qnil; + note_mouse_highlight (frame, event->x, event->y); /* Remember which glyph we're now on. */ remember_mouse_glyph (frame, event->x, event->y, &last_mouse_glyph); + last_mouse_glyph_frame = frame; return 1; } @@ -3821,6 +3825,7 @@ the frame are divided into. */ remember_mouse_glyph (f1, win_x, win_y, &last_mouse_glyph); + last_mouse_glyph_frame = f1; *bar_window = Qnil; *part = 0; @@ -6658,7 +6663,7 @@ int tool_bar_p = 0; bzero (&compose_status, sizeof (compose_status)); - bzero (&last_mouse_glyph, sizeof (last_mouse_glyph)); + last_mouse_glyph_frame = 0; if (dpyinfo->grabbed && last_mouse_frame