Only test for modal window when it isn't nil.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@25398 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
fredkiefer 2007-08-19 18:01:45 +00:00
parent ddb8506a63
commit 85b36eece3
2 changed files with 23 additions and 17 deletions

View file

@ -1,3 +1,8 @@
2007-08-19 Fred Kiefer <FredKiefer@gmx.de>
* Source/NSButton.m ([performKeyEquivalent:]): Only test for modal
window when it isn't nil.
2007-08-16 Fred Kiefer <FredKiefer@gmx.de>
* Headers/AppKit/NSFontManager.h,

View file

@ -471,19 +471,19 @@ static id buttonCellClass = nil;
unichar character = 0;
if ([characters length] > 0)
{
character = [characters characterAtIndex: 0];
}
{
character = [characters characterAtIndex: 0];
}
// Handle SPACE or RETURN to perform a click
if ((character == NSNewlineCharacter)
|| (character == NSEnterCharacter)
|| (character == NSCarriageReturnCharacter)
|| ([characters isEqualToString: @" "]))
{
[self performClick: self];
return;
}
{
[self performClick: self];
return;
}
}
[super keyDown: theEvent];
@ -506,22 +506,23 @@ static id buttonCellClass = nil;
*/
- (BOOL) performKeyEquivalent: (NSEvent *)anEvent
{
NSWindow *w = [self window];
NSWindow *w = [self window];
NSWindow *mw = [NSApp modalWindow];
if ([self isEnabled] && ([w worksWhenModal] || [NSApp modalWindow] == w))
if ([self isEnabled] && (mw == nil || [w worksWhenModal] || mw == w))
{
NSString *key = [self keyEquivalent];
if (key != nil && [key isEqual: [anEvent charactersIgnoringModifiers]])
{
unsigned int mask = [self keyEquivalentModifierMask];
{
unsigned int mask = [self keyEquivalentModifierMask];
if (([anEvent modifierFlags] & mask) == mask)
{
[self performClick: self];
return YES;
}
}
if (([anEvent modifierFlags] & mask) == mask)
{
[self performClick: self];
return YES;
}
}
}
return NO;
}