Mercurial > emacs
comparison src/xterm.c @ 53061:4835b200fafe
* xterm.c (x_detect_focus_change): Do not change focus frame for
Enter/LeaveNotify if the current focus frame has explicit focus.
author | Jan Djärv <jan.h.d@swipnet.se> |
---|---|
date | Fri, 14 Nov 2003 19:13:02 +0000 |
parents | ea521a9007e2 |
children | 1218a42792ea |
comparison
equal
deleted
inserted
replaced
53060:0327b225b8d0 | 53061:4835b200fafe |
---|---|
3207 | 3207 |
3208 switch (event->type) | 3208 switch (event->type) |
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: |
3225 case FocusOut: | 3231 case FocusOut: |
3226 nr_events = x_focus_changed (event->type, | 3232 nr_events = x_focus_changed (event->type, |