(do_switch_frame) [NS_IMPL_COCOA]: Don't raise any window.

(delete_frame) [NS_IMPL_COCOA]: Instead, do it here.
This commit is contained in:
Stefan Monnier 2009-05-19 03:30:36 +00:00
parent 2645d15bb1
commit ac71ced75b
2 changed files with 14 additions and 10 deletions

View file

@ -1,3 +1,8 @@
2009-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
* frame.c (do_switch_frame) [NS_IMPL_COCOA]: Don't raise any window.
(delete_frame) [NS_IMPL_COCOA]: Instead, do it here.
2009-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* xterm.c (x_delete_display): Don't call XrmDestroyDatabase here.

View file

@ -866,16 +866,6 @@ do_switch_frame (frame, track, for_deletion, norecord)
Fselect_window (XFRAME (frame)->selected_window, norecord);
#ifdef NS_IMPL_COCOA
/* Under NS, there is no system mechanism for choosing a new window to be
selected -- it is left to application code. So the portion of THIS
application interfacing with NS needs to know about it. */
if (for_deletion && FRAME_VISIBLE_P (XFRAME (selected_frame))
&& FRAME_LIVE_P (XFRAME (selected_frame))
&& ! FRAME_ICONIFIED_P (XFRAME (selected_frame)))
Fraise_frame(Qnil);
#endif
/* We want to make sure that the next event generates a frame-switch
event to the appropriate frame. This seems kludgy to me, but
before you take it out, make sure that evaluating something like
@ -1423,6 +1413,15 @@ delete_frame (frame, force)
break;
}
}
#ifdef NS_IMPL_COCOA
else
/* Under NS, there is no system mechanism for choosing a new
window to get focus -- it is left to application code.
So the portion of THIS application interfacing with NS
needs to know about it. We call Fraise_frame, but the
purpose is really to transfer focus. */
Fraise_frame (frame1);
#endif
do_switch_frame (frame1, 0, 1, Qnil);
sf = SELECTED_FRAME ();