OSDN Git Service

Make getFallbackAction return false when there is none.
authorJeff Brown <jeffbrown@google.com>
Sat, 15 Jan 2011 01:54:38 +0000 (17:54 -0800)
committerJeff Brown <jeffbrown@google.com>
Sat, 15 Jan 2011 01:54:38 +0000 (17:54 -0800)
Change-Id: Id17c0f7269e4a228f4e5f11c54614fec508222a2

libs/ui/KeyCharacterMap.cpp

index 9bfa8f6..2decfe9 100644 (file)
@@ -185,9 +185,11 @@ bool KeyCharacterMap::getFallbackAction(int32_t keyCode, int32_t metaState,
     const Key* key;
     const Behavior* behavior;
     if (getKeyBehavior(keyCode, metaState, &key, &behavior)) {
-        outFallbackAction->keyCode = behavior->fallbackKeyCode;
-        outFallbackAction->metaState = metaState & ~behavior->metaState;
-        result = true;
+        if (behavior->fallbackKeyCode) {
+            outFallbackAction->keyCode = behavior->fallbackKeyCode;
+            outFallbackAction->metaState = metaState & ~behavior->metaState;
+            result = true;
+        }
     }
 #if DEBUG_MAPPING
     LOGD("getFallbackKeyCode: keyCode=%d, metaState=0x%08x ~ Result %s, "