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)
committerEmilio Pozuelo Monfort <pochu@debian.org>
Thu, 6 Jul 2023 09:42:05 +0000 (10:42 +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.jsm

index 4611737ca9180b7d75c69adac9233cc238b5a92a..1d92679411ca042623c5d185d62dda49d35353ea 100644 (file)
@@ -5033,7 +5033,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 &&
@@ -5062,9 +5062,8 @@ var SessionStoreInternal = {
           case "minimized":
             if (aSizeModeBeforeMinimized == "maximized") {
               aWindow.maximize();
+              break;
             }
-            aWindow.minimize();
-            break;
           case "normal":
             aWindow.restore();
             break;