More fixes for NSApplication

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@5255 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
richard 1999-11-22 15:52:52 +00:00
parent b27b0579e9
commit 579be687fb
2 changed files with 8 additions and 3 deletions

View file

@ -11,7 +11,8 @@ Mon Nov 22 14:51:33:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* Source/NSApplication.m: Fixed Windows menu for new menu API. * Source/NSApplication.m: Fixed Windows menu for new menu API.
Changed to use arrays to store deactivated/hidden windows and to Changed to use arrays to store deactivated/hidden windows and to
keep track of key window when hidden. Watch window notifications keep track of key window when hidden. Watch window notifications
to keep track of which window is key/main. to keep track of which window is key/main. Handle making window
key and ordering front in modal sessions.
Sat Nov 20 6:56:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk> Sat Nov 20 6:56:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>

View file

@ -742,8 +742,11 @@ static NSCell* tileCell = nil;
* The NSWindow documentation says runModalForWindow centers panels. * The NSWindow documentation says runModalForWindow centers panels.
*/ */
if ([theWindow isKindOfClass: [NSPanel class]]) if ([theWindow isKindOfClass: [NSPanel class]])
[theWindow center]; {
[theWindow center];
}
[theWindow orderFrontRegardless];
if ([self isActive] == YES) if ([self isActive] == YES)
{ {
if ([theWindow canBecomeKeyWindow] == YES) if ([theWindow canBecomeKeyWindow] == YES)
@ -755,7 +758,6 @@ static NSCell* tileCell = nil;
[theWindow makeMainWindow]; [theWindow makeMainWindow];
} }
} }
[theWindow orderFrontRegardless];
theSession = NULL; theSession = NULL;
code = NSRunContinuesResponse; code = NSRunContinuesResponse;
@ -802,6 +804,8 @@ static NSCell* tileCell = nil;
format: @"runModalSession: with wrong session"]; format: @"runModalSession: with wrong session"];
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
[theSession->window orderFrontRegardless];
if ([theSession->window canBecomeKeyWindow] == YES) if ([theSession->window canBecomeKeyWindow] == YES)
{ {
[theSession->window makeKeyWindow]; [theSession->window makeKeyWindow];