Fix menu key equivalents to only trigger when the exact modifiers are held down

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30626 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
dpsimons 2010-06-08 21:56:15 +00:00
parent 6455999cca
commit 1f6c867adf
2 changed files with 20 additions and 10 deletions

View file

@ -1247,18 +1247,20 @@ static BOOL menuBarVisible = YES;
}
else
{
unsigned mask = [item keyEquivalentModifierMask];
static unsigned relevantModifiersMask = NSCommandKeyMask | NSAlternateKeyMask | NSShiftKeyMask | NSControlKeyMask;
unsigned mask = [item keyEquivalentModifierMask];
modifiers &= relevantModifiersMask; // mask out any irrelevant flags
if ([[item keyEquivalent] isEqualToString: keyEquivalent]
&& (modifiers & mask) == mask)
{
if ([item isEnabled])
{
[_view performActionWithHighlightingForItemAtIndex: i];
}
return YES;
}
}
&& modifiers == mask)
{
if ([item isEnabled])
{
[_view performActionWithHighlightingForItemAtIndex: i];
}
return YES;
}
}
}
return NO;
}