Version: unspecified OS: Linux Following code is probably unreachable in pageview.cpp: // If the delta is huge it probably means we just wrapped in that direction const QPoint absDelta(abs(delta.x()), abs(delta.y())); if ( absDelta.y() > mouseContainer.height() / 2 ) { delta.setY(mouseContainer.height() - absDelta.y()); } if ( absDelta.x() > mouseContainer.width() / 2 ) { delta.setX(mouseContainer.width() - absDelta.x()); } It's unreachable coze delta is equal to d->mouseGrabPos - mousePos, and d->mouseGrabPos is updated anyways when we wrapped. Haven't tested it however. Reproducible: Didn't try
it is richable if we move mouse quickly, but it doesn't do anything good if we reach it.
Can you explain why "it doesn't do anything good if we reach it."?
If mouse moves very fast (more that half of screen between 2 event loops), we reach this code and it fucks up delta. So document is dragged less than mouse actually moved. Sorry for bad English.
You are reading the code wrong. if ( absDelta.y() > mouseContainer.height() / 2 ) happens not when you move the mouse very fast but when cursor wraps from the top to the bottom of the screen as the comment says. Anyway if you wish to continue discussing this please subscribe to okular-devel mailing list and post there.