Fix pointer index when splitting secondary pointers.

Change-Id: Ib01e810ea5b64501b1303000bbef0f0a1db2114e
This commit is contained in:
Jeff Brown 2010-09-27 16:35:11 -07:00
parent 6e0e4c4f11
commit ffb16d601b
1 changed files with 8 additions and 0 deletions

View File

@ -1916,6 +1916,14 @@ InputDispatcher::splitMotionEvent(const MotionEntry* originalMotionEntry, BitSet
// The first/last pointer went down/up.
action = maskedAction == AMOTION_EVENT_ACTION_POINTER_DOWN
? AMOTION_EVENT_ACTION_DOWN : AMOTION_EVENT_ACTION_UP;
} else {
// A secondary pointer went down/up.
uint32_t splitPointerIndex = 0;
while (pointerId != splitPointerIds[splitPointerIndex]) {
splitPointerIndex += 1;
}
action = maskedAction | (splitPointerIndex
<< AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT);
}
} else {
// An unrelated pointer changed.