diff options
author | Craig Mautner <cmautner@google.com> | 2015-03-23 14:00:47 -0700 |
---|---|---|
committer | Craig Mautner <cmautner@google.com> | 2015-03-23 14:00:47 -0700 |
commit | 00a6675461dda409869a1af56107506e24cf6f9e (patch) | |
tree | 898165d697b9054df9c7cbc25fd99ee561a8f2d9 | |
parent | 356176177633a619f4a916248536e4e7a5fb9b2e (diff) | |
download | frameworks_base-00a6675461dda409869a1af56107506e24cf6f9e.zip frameworks_base-00a6675461dda409869a1af56107506e24cf6f9e.tar.gz frameworks_base-00a6675461dda409869a1af56107506e24cf6f9e.tar.bz2 |
Add null check and call destroy from single point.
Ensure that calling destroy() on a DimLayer surface only happens
once.
Fixes bug 19660387.
Change-Id: Iee8ea20b5d7c3a8f81f14a3ecff66a1dc1a8d719
-rw-r--r-- | services/core/java/com/android/server/wm/TaskStack.java | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/wm/TaskStack.java b/services/core/java/com/android/server/wm/TaskStack.java index 6d09f55..b61a6f7 100644 --- a/services/core/java/com/android/server/wm/TaskStack.java +++ b/services/core/java/com/android/server/wm/TaskStack.java @@ -373,10 +373,8 @@ public class TaskStack { mService.requestTraversalLocked(); } - mAnimationBackgroundSurface.destroySurface(); - mAnimationBackgroundSurface = null; - mDimLayer.destroySurface(); - mDimLayer = null; + close(); + mDisplayContent = null; } @@ -501,8 +499,14 @@ public class TaskStack { } void close() { - mDimLayer.mDimSurface.destroy(); - mAnimationBackgroundSurface.mDimSurface.destroy(); + if (mAnimationBackgroundSurface != null) { + mAnimationBackgroundSurface.destroySurface(); + mAnimationBackgroundSurface = null; + } + if (mDimLayer != null) { + mDimLayer.destroySurface(); + mDimLayer = null; + } } public void dump(String prefix, PrintWriter pw) { |