SVN commit 1216390 by aacid: Accept slight pixel movements for detecting mouse clicks Should help with bug 263314 BUGS: 263314 M +7 -3 pageview.cpp --- trunk/KDE/kdegraphics/okular/ui/pageview.cpp #1216389:1216390 @@ -1804,9 +1804,12 @@ updateCursor( eventPos ); PageViewItem * pageItem = pickItemOnPoint( eventPos.x(), eventPos.y() ); + const QPoint pressPos = contentAreaPoint( mapFromGlobal( d->mousePressPos ) ); + const PageViewItem * pageItemPressPos = pickItemOnPoint( pressPos.x(), pressPos.y() ); // if the mouse has not moved since the press, that's a -click- - if ( leftButton && pageItem && d->mousePressPos == e->globalPos()) + if ( leftButton && pageItem && pageItem == pageItemPressPos && + ( (d->mousePressPos - e->globalPos()).manhattanLength() < QApplication::startDragDistance() ) ) { double nX = pageItem->absToPageX(eventPos.x()); double nY = pageItem->absToPageY(eventPos.y()); @@ -1869,7 +1872,8 @@ } else if ( rightButton ) { - if ( pageItem && d->mousePressPos == e->globalPos() ) + if ( pageItem && pageItem == pageItemPressPos && + ( (d->mousePressPos - e->globalPos()).manhattanLength() < QApplication::startDragDistance() ) ) { double nX = pageItem->absToPageX(eventPos.x()); double nY = pageItem->absToPageY(eventPos.y()); @@ -3271,7 +3275,7 @@ // add the page after the 'visible series' in preload int tailRequest = d->visibleItems.last()->pageNumber() + j; if ( tailRequest < (int)d->items.count() ) - { + { PageViewItem * i = d->items[ tailRequest ]; // request the pixmap if not already present if ( !i->page()->hasPixmap( PAGEVIEW_ID, i->uncroppedWidth(), i->uncroppedHeight() ) && i->uncroppedWidth() > 0 )