diff options
| author | Jan Djärv | 2003-11-14 19:13:02 +0000 |
|---|---|---|
| committer | Jan Djärv | 2003-11-14 19:13:02 +0000 |
| commit | 0b03cc78b8ef965c1966d345718f8d2e59b8c112 (patch) | |
| tree | 4d7598d1b4c23b7f9a689aa3f54241ba0f31766a | |
| parent | 067b4094282acb581da5d8ab181aa6659dc7620d (diff) | |
| download | emacs-0b03cc78b8ef965c1966d345718f8d2e59b8c112.tar.gz emacs-0b03cc78b8ef965c1966d345718f8d2e59b8c112.zip | |
* xterm.c (x_detect_focus_change): Do not change focus frame for
Enter/LeaveNotify if the current focus frame has explicit focus.
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/xterm.c | 26 |
2 files changed, 21 insertions, 10 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 5071d548027..41aa2cd35fa 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2003-11-14 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 2 | |||
| 3 | * xterm.c (x_detect_focus_change): Do not change focus frame for | ||
| 4 | Enter/LeaveNotify if the current focus frame has explicit focus. | ||
| 5 | |||
| 1 | 2003-11-14 Kim F. Storm <storm@cua.dk> | 6 | 2003-11-14 Kim F. Storm <storm@cua.dk> |
| 2 | 7 | ||
| 3 | * dispnew.c (update_text_area): Fix redisplay error when hscroll | 8 | * dispnew.c (update_text_area): Fix redisplay error when hscroll |
diff --git a/src/xterm.c b/src/xterm.c index 638ce463065..85beb00eb52 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -3209,16 +3209,22 @@ x_detect_focus_change (dpyinfo, event, bufp, numchars) | |||
| 3209 | { | 3209 | { |
| 3210 | case EnterNotify: | 3210 | case EnterNotify: |
| 3211 | case LeaveNotify: | 3211 | case LeaveNotify: |
| 3212 | if (event->xcrossing.detail != NotifyInferior | 3212 | { |
| 3213 | && event->xcrossing.focus | 3213 | struct frame *focus_frame = dpyinfo->x_focus_event_frame; |
| 3214 | && ! (frame->output_data.x->focus_state & FOCUS_EXPLICIT)) | 3214 | int focus_state |
| 3215 | nr_events = x_focus_changed ((event->type == EnterNotify | 3215 | = focus_frame ? focus_frame->output_data.x->focus_state : 0; |
| 3216 | ? FocusIn : FocusOut), | 3216 | |
| 3217 | FOCUS_IMPLICIT, | 3217 | if (event->xcrossing.detail != NotifyInferior |
| 3218 | dpyinfo, | 3218 | && event->xcrossing.focus |
| 3219 | frame, | 3219 | && ! (focus_state & FOCUS_EXPLICIT)) |
| 3220 | bufp, | 3220 | nr_events = x_focus_changed ((event->type == EnterNotify |
| 3221 | numchars); | 3221 | ? FocusIn : FocusOut), |
| 3222 | FOCUS_IMPLICIT, | ||
| 3223 | dpyinfo, | ||
| 3224 | frame, | ||
| 3225 | bufp, | ||
| 3226 | numchars); | ||
| 3227 | } | ||
| 3222 | break; | 3228 | break; |
| 3223 | 3229 | ||
| 3224 | case FocusIn: | 3230 | case FocusIn: |