Skip to content

Commit 526f0a0

Browse files
committed
Fix a hang in SF caused by invalid transform matrix from the WM
WindowManager could create by transforms because of divide by zero. Bug: 5422468 Change-Id: I782f87ebb78b5ff23750e22837f36ca6cfed1f2f
1 parent 0d0fba4 commit 526f0a0

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

services/java/com/android/server/wm/WindowState.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1120,7 +1120,11 @@ void computeShownFrameLocked() {
11201120
// window's center).
11211121
final float w = frame.width();
11221122
final float h = frame.height();
1123-
tmpMatrix.setScale(1 + 2/w, 1 + 2/h, w/2, h/2);
1123+
if (w>=1 && h>=1) {
1124+
tmpMatrix.setScale(1 + 2/w, 1 + 2/h, w/2, h/2);
1125+
} else {
1126+
tmpMatrix.reset();
1127+
}
11241128
} else {
11251129
tmpMatrix.reset();
11261130
}

0 commit comments

Comments
 (0)