# HG changeset patch # User Chris Cannam # Date 1415613260 0 # Node ID 0cdaf382f21eb4c743f71c7fad3fe9573aeefbe7 # Parent 6c08e99ca0f3019133f88c82c4df6d7468e85e69 Discard wildly excessive wheel events diff -r 6c08e99ca0f3 -r 0cdaf382f21e view/Pane.cpp --- a/view/Pane.cpp Mon Nov 10 09:20:06 2014 +0000 +++ b/view/Pane.cpp Mon Nov 10 09:54:20 2014 +0000 @@ -2286,6 +2286,13 @@ // Coarse wheel information (or vertical zoom, which is // necessarily coarse itself) + // Sometimes on Linux we're seeing absurdly extreme angles on + // the first wheel event -- discard those entirely + if (abs(m_pendingWheelAngle) > 1000) { + m_pendingWheelAngle = 0; + return; + } + while (abs(m_pendingWheelAngle) >= 120) { int sign = (m_pendingWheelAngle < 0 ? -1 : 1);