summaryrefslogtreecommitdiffstats
path: root/libs/hwui/renderthread/RenderThread.cpp
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2014-12-03 13:01:07 -0800
committerJohn Reck <jreck@google.com>2014-12-03 13:03:59 -0800
commit01a5ea35fbba4c5bb1d7790ae1677a2fa752e042 (patch)
treed890ced3bdb3be6275e2d13d0dbd9f901ec8ce4d /libs/hwui/renderthread/RenderThread.cpp
parent8d72046b9ba06feadbcf71815a1c6e1017c8da37 (diff)
downloadframeworks_base-01a5ea35fbba4c5bb1d7790ae1677a2fa752e042.zip
frameworks_base-01a5ea35fbba4c5bb1d7790ae1677a2fa752e042.tar.gz
frameworks_base-01a5ea35fbba4c5bb1d7790ae1677a2fa752e042.tar.bz2
Resume RT-animations after a pauseSurface
Bug: 18203577 The issue occurs as a result of performTraversals() both doing a window relayout call *and* early-returning because it's not dirty. To fix this pauseSurface() returns whether or not the RT-side is "dirty" to force ViewRootImpl to do a draw even if mDirty is otherwise empty. Change-Id: I534f367e75d18d273ebf14df3927f5c464ef6bef
Diffstat (limited to 'libs/hwui/renderthread/RenderThread.cpp')
-rw-r--r--libs/hwui/renderthread/RenderThread.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/libs/hwui/renderthread/RenderThread.cpp b/libs/hwui/renderthread/RenderThread.cpp
index f887103..38cb4cd 100644
--- a/libs/hwui/renderthread/RenderThread.cpp
+++ b/libs/hwui/renderthread/RenderThread.cpp
@@ -314,9 +314,11 @@ void RenderThread::postFrameCallback(IFrameCallback* callback) {
mPendingRegistrationFrameCallbacks.insert(callback);
}
-void RenderThread::removeFrameCallback(IFrameCallback* callback) {
- mFrameCallbacks.erase(callback);
- mPendingRegistrationFrameCallbacks.erase(callback);
+bool RenderThread::removeFrameCallback(IFrameCallback* callback) {
+ size_t erased;
+ erased = mFrameCallbacks.erase(callback);
+ erased |= mPendingRegistrationFrameCallbacks.erase(callback);
+ return erased;
}
void RenderThread::pushBackFrameCallback(IFrameCallback* callback) {