Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ffb16d60 authored by Jeff Brown's avatar Jeff Brown
Browse files

Fix pointer index when splitting secondary pointers.

Change-Id: Ib01e810ea5b64501b1303000bbef0f0a1db2114e
parent 6e0e4c4f
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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.