Mac OS: fixed the setting of the key window after a window is closed.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9154 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
353f59a0ce
commit
8ff32e11d6
@ -1020,16 +1020,15 @@ void fl_open_callback(void (*cb)(const char *)) {
|
||||
- (void)windowWillClose:(NSNotification *)notif
|
||||
{
|
||||
fl_lock_function();
|
||||
Fl_Window *w = Fl::first_window();
|
||||
if (w) {
|
||||
NSWindow *cw = (NSWindow*)Fl_X::i(w)->xid;
|
||||
if ( ![cw isMiniaturized] && ([cw styleMask] & NSTitledWindowMask) ) {
|
||||
if (![cw isKeyWindow]) { // always make Fl::first_window() the key widow
|
||||
[cw makeKeyAndOrderFront:nil];
|
||||
}
|
||||
if (![cw isMainWindow]) { // always make Fl::first_window() the main widow
|
||||
[cw makeMainWindow];
|
||||
if ([[notif object] isKeyWindow]) {
|
||||
// If the closing window is the key window,
|
||||
// find a bordered top-level window to become the new key window
|
||||
Fl_Window *w = Fl::first_window();
|
||||
while (w && (w->parent() || !w->border() || !w->visible())) {
|
||||
w = Fl::next_window(w);
|
||||
}
|
||||
if (w) {
|
||||
[(FLWindow*)Fl_X::i(w)->xid makeKeyAndOrderFront:nil];
|
||||
}
|
||||
}
|
||||
fl_unlock_function();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user