summaryrefslogtreecommitdiff
path: root/libs/hwui/AnimatorManager.cpp
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2014-08-28 08:43:39 -0700
committerJohn Reck <jreck@google.com>2014-08-28 08:43:39 -0700
commitd0cd9db31639b246587fe494ec15d32d9fdb3dc7 (patch)
treece549c76db9b00250555e14ee03b0634e0e73d4b /libs/hwui/AnimatorManager.cpp
parent1a08a8f52f263fb8431b54dce89d333660ac3b1f (diff)
Actually end animators on tree destruction
Bug: 17313962 Change-Id: I66b86d50b415f9aa33da23297f22e2cf7f96f565
Diffstat (limited to 'libs/hwui/AnimatorManager.cpp')
-rw-r--r--libs/hwui/AnimatorManager.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/hwui/AnimatorManager.cpp b/libs/hwui/AnimatorManager.cpp
index 3832d426150a..678b1eedbd96 100644
--- a/libs/hwui/AnimatorManager.cpp
+++ b/libs/hwui/AnimatorManager.cpp
@@ -160,13 +160,15 @@ void AnimatorManager::endAllAnimators() {
if (mAnimationHandle) {
EndAnimatorsFunctor functor(mAnimationHandle->context());
for_each(mAnimators.begin(), mAnimators.end(), functor);
+ mAnimators.clear();
+ mAnimationHandle->release();
} else {
// We have no context, so bust out the sledgehammer
// This works because this state can only happen on the UI thread,
// which means we're already on the right thread to invoke listeners
for_each(mAnimators.begin(), mAnimators.end(), endAnimatorsHard);
+ mAnimators.clear();
}
- mAnimators.clear();
}
} /* namespace uirenderer */