Merge "Fix a crash when grContext was deleted"

This commit is contained in:
TreeHugger Robot
2018-03-02 16:05:37 +00:00
committed by Android (Google) Code Review

View File

@@ -356,14 +356,21 @@ void RenderProxy::disableVsync() {
void RenderProxy::repackVectorDrawableAtlas() {
RenderThread& thread = RenderThread::getInstance();
thread.queue().post([&thread]() {
thread.cacheManager().acquireVectorDrawableAtlas()->repackIfNeeded(thread.getGrContext());
// The context may be null if trimMemory executed, but then the atlas was deleted too.
if (thread.getGrContext() != nullptr) {
thread.cacheManager().acquireVectorDrawableAtlas()->repackIfNeeded(
thread.getGrContext());
}
});
}
void RenderProxy::releaseVDAtlasEntries() {
RenderThread& thread = RenderThread::getInstance();
thread.queue().post([&thread]() {
thread.cacheManager().acquireVectorDrawableAtlas()->delayedReleaseEntries();
// The context may be null if trimMemory executed, but then the atlas was deleted too.
if (thread.getGrContext() != nullptr) {
thread.cacheManager().acquireVectorDrawableAtlas()->delayedReleaseEntries();
}
});
}