diff options
| author | YAMAMOTO Mitsuharu | 2007-03-18 08:06:38 +0000 |
|---|---|---|
| committer | YAMAMOTO Mitsuharu | 2007-03-18 08:06:38 +0000 |
| commit | 6a0ace5b78160de383444758feec3fc1d153467e (patch) | |
| tree | 3c92ee10e61aa2845686562cdba1a99191badccb /src | |
| parent | a83c3e315ff818d5fb2924f4791f30cdf0f3075f (diff) | |
| download | emacs-6a0ace5b78160de383444758feec3fc1d153467e.tar.gz emacs-6a0ace5b78160de383444758feec3fc1d153467e.zip | |
(note_mouse_movement): Don't return immediately for
LeaveNotify case.
Diffstat (limited to 'src')
| -rw-r--r-- | src/macterm.c | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/src/macterm.c b/src/macterm.c index c85dc7da013..a5a193cb88c 100644 --- a/src/macterm.c +++ b/src/macterm.c | |||
| @@ -4484,25 +4484,24 @@ note_mouse_movement (frame, pos) | |||
| 4484 | last_mouse_motion_position = *pos; | 4484 | last_mouse_motion_position = *pos; |
| 4485 | XSETFRAME (last_mouse_motion_frame, frame); | 4485 | XSETFRAME (last_mouse_motion_frame, frame); |
| 4486 | 4486 | ||
| 4487 | if (frame == dpyinfo->mouse_face_mouse_frame | ||
| 4487 | #if TARGET_API_MAC_CARBON | 4488 | #if TARGET_API_MAC_CARBON |
| 4488 | if (!PtInRect (*pos, GetWindowPortBounds (FRAME_MAC_WINDOW (frame), &r))) | 4489 | && !PtInRect (*pos, GetWindowPortBounds (FRAME_MAC_WINDOW (frame), &r)) |
| 4489 | #else | 4490 | #else |
| 4490 | if (!PtInRect (*pos, &FRAME_MAC_WINDOW (frame)->portRect)) | 4491 | && !PtInRect (*pos, &FRAME_MAC_WINDOW (frame)->portRect) |
| 4491 | #endif | 4492 | #endif |
| 4493 | ) | ||
| 4492 | { | 4494 | { |
| 4493 | if (frame == dpyinfo->mouse_face_mouse_frame) | 4495 | /* This case corresponds to LeaveNotify in X11. If we move |
| 4494 | /* This case corresponds to LeaveNotify in X11. */ | 4496 | outside the frame, then we're certainly no longer on any text |
| 4495 | { | 4497 | in the frame. */ |
| 4496 | /* If we move outside the frame, then we're certainly no | 4498 | clear_mouse_face (dpyinfo); |
| 4497 | longer on any text in the frame. */ | 4499 | dpyinfo->mouse_face_mouse_frame = 0; |
| 4498 | clear_mouse_face (dpyinfo); | 4500 | if (!dpyinfo->grabbed) |
| 4499 | dpyinfo->mouse_face_mouse_frame = 0; | 4501 | rif->define_frame_cursor (frame, |
| 4500 | if (!dpyinfo->grabbed) | 4502 | frame->output_data.mac->nontext_cursor); |
| 4501 | rif->define_frame_cursor (frame, | ||
| 4502 | frame->output_data.mac->nontext_cursor); | ||
| 4503 | } | ||
| 4504 | return 1; | ||
| 4505 | } | 4503 | } |
| 4504 | |||
| 4506 | /* Has the mouse moved off the glyph it was on at the last sighting? */ | 4505 | /* Has the mouse moved off the glyph it was on at the last sighting? */ |
| 4507 | if (frame != last_mouse_glyph_frame | 4506 | if (frame != last_mouse_glyph_frame |
| 4508 | || !PtInRect (*pos, &last_mouse_glyph)) | 4507 | || !PtInRect (*pos, &last_mouse_glyph)) |