Author: manolo
Date: 2011-10-27 12:41:54 -0700 (Thu, 27 Oct 2011)
New Revision: 9154
Log:
Mac OS: fixed the setting of the key window after a window is closed.
Modified:
branches/branch-1.3/src/Fl_cocoa.mm
Modified: branches/branch-1.3/src/Fl_cocoa.mm
===================================================================
--- branches/branch-1.3/src/Fl_cocoa.mm 2011-10-26 12:56:06 UTC (rev 9153)
+++ branches/branch-1.3/src/Fl_cocoa.mm 2011-10-27 19:41:54 UTC (rev 9154)
@@ -1020,16 +1020,15 @@
- (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 ([[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 (![cw isMainWindow]) { // always make Fl::first_window() the
main widow
- [cw makeMainWindow];
- }
+ if (w) {
+ [(FLWindow*)Fl_X::i(w)->xid makeKeyAndOrderFront:nil];
}
}
fl_unlock_function();
_______________________________________________
fltk-commit mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-commit