diff options
| -rw-r--r-- | include/input/InputTransport.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/input/InputTransport.h b/include/input/InputTransport.h index 0dd15b1221..944947420e 100644 --- a/include/input/InputTransport.h +++ b/include/input/InputTransport.h @@ -384,6 +384,10 @@ private: const PointerCoords& getPointerById(uint32_t id) const { return pointers[idToIndex[id]]; } + + bool hasPointerId(uint32_t id) const { + return idBits.hasBit(id); + } }; struct TouchState { int32_t deviceId; @@ -419,6 +423,9 @@ private: if (historySize < 2) { return false; } + if (!getHistory(0)->hasPointerId(id) || !getHistory(1)->hasPointerId(id)) { + return false; + } float currentX = getHistory(0)->getPointerById(id).getX(); float currentY = getHistory(0)->getPointerById(id).getY(); float previousX = getHistory(1)->getPointerById(id).getX(); |