# HG changeset patch # User Stefan Monnier # Date 1242703836 0 # Node ID 26fe9add7299ce328d1fd48092fe6f7d9b9c9fce # Parent a8e08bcfc3adbbbf24575272fd7a8bc934060900 (do_switch_frame) [NS_IMPL_COCOA]: Don't raise any window. (delete_frame) [NS_IMPL_COCOA]: Instead, do it here. diff -r a8e08bcfc3ad -r 26fe9add7299 src/ChangeLog --- a/src/ChangeLog Tue May 19 02:05:52 2009 +0000 +++ b/src/ChangeLog Tue May 19 03:30:36 2009 +0000 @@ -1,3 +1,8 @@ +2009-05-19 Stefan Monnier + + * 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 * xterm.c (x_delete_display): Don't call XrmDestroyDatabase here. diff -r a8e08bcfc3ad -r 26fe9add7299 src/frame.c --- a/src/frame.c Tue May 19 02:05:52 2009 +0000 +++ b/src/frame.c Tue May 19 03:30:36 2009 +0000 @@ -866,16 +866,6 @@ 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 @@ 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 ();