From a8649d2e96860598312e600f0f0feb31b1ecb757 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 10 May 2020 13:56:08 +0530 Subject: [PATCH] Fix #1877749 [Downloading metadata moves view of book list](https://bugs.launchpad.net/calibre/+bug/1877749) --- src/calibre/gui2/proceed.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/proceed.py b/src/calibre/gui2/proceed.py index 1db0bc8293..977932a31e 100644 --- a/src/calibre/gui2/proceed.py +++ b/src/calibre/gui2/proceed.py @@ -269,7 +269,14 @@ class ProceedQuestion(QWidget): dpr = getattr(self, 'devicePixelRatioF', self.devicePixelRatio)() p = QImage(dpr * self.size(), QImage.Format_ARGB32_Premultiplied) p.setDevicePixelRatio(dpr) - self.render(p) + # For some reason, Qt scrolls the book view when rendering this widget, + # for the very first time, so manually preserve its position + pr = getattr(self.parent(), 'library_view', None) + if not hasattr(pr, 'preserve_state'): + self.render(p) + else: + with pr.preserve_state(): + self.render(p) self.rendered_pixmap = QPixmap.fromImage(p) self.original_visibility = v = [] for child in self.findChildren(QWidget):