diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java index e374ee91389f5..351961a8736a9 100644 --- a/services/core/java/com/android/server/wm/WindowStateAnimator.java +++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java @@ -2066,7 +2066,8 @@ class WindowStateAnimator { if (time > mDeferTransactionTime + PENDING_TRANSACTION_FINISH_WAIT_TIME) { mDeferTransactionTime = -1; mDeferTransactionUntilFrame = -1; - } else { + } else if (mWin.mAttachedWindow != null && + mWin.mAttachedWindow.mWinAnimator.hasSurface()) { mSurfaceController.deferTransactionUntil( mWin.mAttachedWindow.mWinAnimator.mSurfaceController.getHandle(), mDeferTransactionUntilFrame);