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, 6 Aug 2024 22:10:56 +0000 (07:10 +0900)
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 6506b21216e7c3388a3b1469739edcb3282485eb..6dc53f7eeba5b37ff7e894222ee7bdde0f4a7e37 100644 (file)
@@ -4992,7 +4992,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 &&
@@ -5020,9 +5020,8 @@ var SessionStoreInternal = {
           case "minimized":
             if (aSizeModeBeforeMinimized == "maximized") {
               aWindow.maximize();
+              break;
             }
-            aWindow.minimize();
-            break;
           case "normal":
             aWindow.restore();
             break;