From 9a1ef22b39c1ac67bdd3a88cea1811f9041b7a25 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 4 Jan 2023 10:11:20 +0530 Subject: [PATCH] Fix windows not being moved onto the current monitor when they were previously visible on a removed monitor that was to the left of the current monitor --- src/calibre/gui2/geometry.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/calibre/gui2/geometry.py b/src/calibre/gui2/geometry.py index d3a6c95e1e..af765daac1 100644 --- a/src/calibre/gui2/geometry.py +++ b/src/calibre/gui2/geometry.py @@ -146,9 +146,9 @@ def _restore_to_new_screen(self: QWidget, s: QScreen, saved_data: dict) -> bool: sz = QSize(min(saved_geometry.width(), available_size.width()), min(saved_geometry.height(), available_size.height())) if not sz.isValid(): return False - max_left = available_geometry.left() + (available_size.width() - sz.width()) - max_top = available_geometry.top() + (available_size.height() - sz.height()) - geometry = QRect(min(saved_geometry.left(), max_left), min(saved_geometry.top(), max_top), sz.width(), sz.height()) + left = available_geometry.left() + (available_size.width() - sz.width()) // 2 + top = available_geometry.top() + (available_size.height() - sz.height()) // 2 + geometry = QRect(left, top, sz.width(), sz.height()) return _do_restore(self, s, geometry, saved_data)