def slope(p): return (p.y-oldMouse.y)/(p.x-oldMouse.x) isInRange = slope(menuBottom) <= slope(newMouse) <= slope(menuTop)
Edit: my guess is divide-by-zero conditions.