File: Avoid-wrong-sessionstore-data-to-keep-windows-out-of.patch

package info (click to toggle)
firefox 144.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,637,504 kB
  • sloc: cpp: 7,576,692; javascript: 6,430,831; ansic: 3,748,119; python: 1,398,978; xml: 628,810; asm: 438,679; java: 186,194; sh: 63,212; makefile: 19,159; objc: 13,086; perl: 12,986; yacc: 4,583; cs: 3,846; pascal: 3,448; lex: 1,720; ruby: 1,003; exp: 762; php: 436; lisp: 258; awk: 247; sql: 66; sed: 53; csh: 10
file content (37 lines) | stat: -rw-r--r-- 1,513 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
From: Mike Hommey <mh@glandium.org>
Date: Thu, 12 Nov 2009 17:18:31 +0100
Subject: Avoid wrong sessionstore data to keep windows out of user sight

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
---
 browser/components/sessionstore/SessionStore.sys.mjs | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs
index eb62ff3..bbd714fe 100644
--- a/browser/components/sessionstore/SessionStore.sys.mjs
+++ b/browser/components/sessionstore/SessionStore.sys.mjs
@@ -6651,7 +6651,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 &&
@@ -6679,9 +6679,8 @@ var SessionStoreInternal = {
           case "minimized":
             if (aSizeModeBeforeMinimized == "maximized") {
               aWindow.maximize();
+              break;
             }
-            aWindow.minimize();
-            break;
           case "normal":
             aWindow.restore();
             break;