From b48d401ac294175aad5e0fc15d4fd68c5380b0fb Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 18 Jun 2015 05:52:11 +0530 Subject: [PATCH] E-book viewer: Fix dragging to select text with the mouse causing the page to slide sideways in paged mode, if the mouse leaves the text area. Fixes #1464862 [Page slides sideways when selecting text in reader](https://bugs.launchpad.net/calibre/+bug/1464862) --- src/calibre/gui2/viewer/documentview.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/calibre/gui2/viewer/documentview.py b/src/calibre/gui2/viewer/documentview.py index d57d7d27e9..7ca54f347a 100644 --- a/src/calibre/gui2/viewer/documentview.py +++ b/src/calibre/gui2/viewer/documentview.py @@ -1369,6 +1369,13 @@ class DocumentView(QWebView): # {{{ return True return QWebView.event(self, ev) + def mouseMoveEvent(self, ev): + if self.document.in_paged_mode and ev.buttons() & Qt.LeftButton and not self.rect().contains(ev.pos(), True): + # Prevent this event from causing WebKit to scroll the viewport + # See https://bugs.launchpad.net/bugs/1464862 + return + return QWebView.mouseMoveEvent(self, ev) + def mouseReleaseEvent(self, ev): r = self.document.mainFrame().hitTestContent(ev.pos()) a, url = r.linkElement(), r.linkUrl()