diff options
author | Robert Carr <racarr@google.com> | 2015-09-25 14:56:38 -0700 |
---|---|---|
committer | Rob Carr <racarr@google.com> | 2015-10-15 00:53:35 +0000 |
commit | 38451b824723095967d36445e9be029bf73d4226 (patch) | |
tree | b1afcd6beea642acad0eb7052528c19a92c6672e /services | |
parent | 8630e18a297801238efcba8760e8d850d8920a80 (diff) | |
download | frameworks_base-38451b824723095967d36445e9be029bf73d4226.zip frameworks_base-38451b824723095967d36445e9be029bf73d4226.tar.gz frameworks_base-38451b824723095967d36445e9be029bf73d4226.tar.bz2 |
WindowStateAnimation: Clear transformation clip rect.
Ensure the clip rect taken from transformations is cleared
when there is no transformation. Normally the failure to
clear the clip would not cause a problem, as the final clip
would be equal to the window size. However, in the event that
the window scale goes on to change (WindowState::m(H/V)Scale that is)
the clip will now be specified at the inappropriate scale (notice the
way the clip must be divided by H/VScale as SurfaceFlinger will apply
the surface transform to the clip).
Bug:24298694
Change-Id: I4548e8ecea8d66d4942e99823653a7b05f87cea0
(cherry picked from commit 2f0fe62c5426533ccdf9ec7ef28027c367286979)
Diffstat (limited to 'services')
-rw-r--r-- | services/core/java/com/android/server/wm/WindowStateAnimator.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java index 726d29d..42042b9 100644 --- a/services/core/java/com/android/server/wm/WindowStateAnimator.java +++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java @@ -1064,6 +1064,8 @@ class WindowStateAnimator { mAnimator.getScreenRotationAnimationLocked(displayId); final boolean screenAnimation = screenRotationAnimation != null && screenRotationAnimation.isAnimating(); + + mHasClipRect = false; if (selfTransformation || attachedTransformation != null || appTransformation != null || screenAnimation) { // cache often used attributes locally @@ -1139,7 +1141,6 @@ class WindowStateAnimator { // transforming since it is more important to have that // animation be smooth. mShownAlpha = mAlpha; - mHasClipRect = false; if (!mService.mLimitedAlphaCompositing || (!PixelFormat.formatHasAlpha(mWin.mAttrs.format) || (mWin.isIdentityMatrix(mDsDx, mDtDx, mDsDy, mDtDy) |