From 69c8b3eddb0678b385e1e93c70de92e00f4dc99a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 26 Apr 2021 20:12:26 +0530 Subject: [PATCH] When safe restoring geometry ensure widget fits on screen as well --- src/calibre/gui2/__init__.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index 55f92f505f..e9f3779200 100644 --- a/src/calibre/gui2/__init__.py +++ b/src/calibre/gui2/__init__.py @@ -996,6 +996,11 @@ class Application(QApplication): def ensure_window_on_screen(self, widget): screen_rect = self.desktop().availableGeometry(widget) + g = widget.geometry() + w = min(screen_rect.width(), g.width()) + h = min(screen_rect.height(), g.height()) + if w != g.width() or h != g.height(): + widget.resize(w, h) if not widget.geometry().intersects(screen_rect): w = min(widget.width(), screen_rect.width() - 10) h = min(widget.height(), screen_rect.height() - 10)