From 8c39891d6656bc8c3fefa7edf1625373b9ef3e7e Mon Sep 17 00:00:00 2001 From: Josh Yelon Date: Mon, 3 Mar 2008 22:44:50 +0000 Subject: [PATCH] Fixed a bug in the 'encircles' routine --- panda/src/event/pointerEventList.cxx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/panda/src/event/pointerEventList.cxx b/panda/src/event/pointerEventList.cxx index df9183e018..80d8c835ca 100644 --- a/panda/src/event/pointerEventList.cxx +++ b/panda/src/event/pointerEventList.cxx @@ -138,11 +138,12 @@ encircles(int x, int y) const { if (tot_events < 3) { return false; } - double dx = _events[0]._xpos - x; - double dy = _events[0]._ypos - y; + int last = tot_events-1; + double dx = _events[last]._xpos - x; + double dy = _events[last]._ypos - y; double lastang = atan2(dy, dx) * (180.0/MathNumbers::pi); double total = 0.0; - for (int i=1; (i -360.0); i++) { + for (int i=last; (i>=0) && (total < 360.0) && (total > -360.0); i--) { dx = _events[i]._xpos - x; dy = _events[i]._ypos - y; if ((dx==0.0)&&(dy==0.0)) {