From 291e2ae6768d75156e35a81ffa2529fecaef753c Mon Sep 17 00:00:00 2001 From: Christopher Snowhill Date: Mon, 10 Oct 2016 22:30:52 -0700 Subject: [PATCH] Fix HotKey Modifier hashing, which has always occupied the upper 16 bits of the value since as early as 2003. --- Frameworks/NDHotKey/NDHotKey/NDHotKeyEvent.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Frameworks/NDHotKey/NDHotKey/NDHotKeyEvent.m b/Frameworks/NDHotKey/NDHotKey/NDHotKeyEvent.m index c24bcddbe..6e39b91b3 100644 --- a/Frameworks/NDHotKey/NDHotKey/NDHotKeyEvent.m +++ b/Frameworks/NDHotKey/NDHotKey/NDHotKeyEvent.m @@ -87,7 +87,7 @@ static BOOL isEqualHashFunction( NSHashTable * aTable, const void * aFirstHotKey static NSString * describeHashFunction( NSHashTable * aTable, const void * aHotKeyEvent ); #endif -static UInt32 _idForCharacterAndModifer( unichar aCharacter, NSUInteger aModFlags ) { return (UInt32)aCharacter | (UInt32)(aModFlags<<16); } +static UInt32 _idForCharacterAndModifer( unichar aCharacter, NSUInteger aModFlags ) { return (UInt32)aCharacter | (UInt32)(aModFlags); } #if 0 static void _getCharacterAndModiferForId( UInt32 anId, unichar *aCharacter, NSUInteger *aModFlags ) @@ -643,7 +643,7 @@ struct HotKeyMappingEntry return [super isEqual:anObject] || ([anObject isKindOfClass:[self class]] == YES && [self keyCode] == [(NDHotKeyEvent*)anObject keyCode] && [self modifierFlags] == [anObject modifierFlags]); } -- (NSUInteger)hash { return (NSUInteger)self.keyCharacter | (self.modifierFlags<<16); } +- (NSUInteger)hash { return (NSUInteger)self.keyCharacter | (self.modifierFlags); } - (NSString *)description {