Avoid wrong sessionstore data to keep windows out of user sight
authorMike Hommey <mh@glandium.org>
Thu, 12 Nov 2009 16:18:31 +0000 (17:18 +0100)
committerMike Hommey <glandium@debian.org>
Tue, 29 Aug 2023 21:03:46 +0000 (22:03 +0100)
It happens that sessionstore can keep wrong information for the window
position or minimized state. Workaround this until the real bug is found
and fixed (probably in xulrunner).

Closes: #552426, #553453
Gbp-Pq: Topic debian-hacks
Gbp-Pq: Name Avoid-wrong-sessionstore-data-to-keep-windows-out-of.patch

browser/components/sessionstore/SessionStore.sys.mjs

index 602986e529301fed08f1722dfeddef7187c63692..99cf0022cfba31a8ea84e59481eab3be450d8e52 100644 (file)
@@ -5220,7 +5220,7 @@ var SessionStoreInternal = {
         // _getWindowDimension.
         let desktopToCssScale =
           aWindow.desktopToDeviceScale / aWindow.devicePixelRatio;
-        aWindow.moveTo(aLeft * desktopToCssScale, aTop * desktopToCssScale);
+        aWindow.moveTo((aLeft < -aWidth) ? 0 : aLeft * desktopToCssScale, (aTop < -aHeight) ? 0 : aTop * desktopToCssScale);
       }
       if (
         aWidth &&
@@ -5248,9 +5248,8 @@ var SessionStoreInternal = {
           case "minimized":
             if (aSizeModeBeforeMinimized == "maximized") {
               aWindow.maximize();
+              break;
             }
-            aWindow.minimize();
-            break;
           case "normal":
             aWindow.restore();
             break;