2f4b68d21c
Layer::lockPageFlip() and layer::onRemove() could be called on different threads and race such that lockPageFlip() successfully called mSurfaceTexture->updateTexImage() but then gets NULL back from mSurfaceTexture->getCurrentBuffer(), leading to a crash. This change moves Layer::onRemove() calls to SurfaceFlinger::commitTransaction() so they happen after the Layer is done being drawn from and only happen on the main surfaceflinger thread. Change-Id: I4b550caadff4cc1878d7c3bca6129193fb0c713e |
||
---|---|---|
.. | ||
DisplayHardware | ||
tests | ||
Android.mk | ||
Barrier.h | ||
clz.cpp | ||
clz.h | ||
DdmConnection.cpp | ||
DdmConnection.h | ||
GLExtensions.cpp | ||
GLExtensions.h | ||
Layer.cpp | ||
Layer.h | ||
LayerBase.cpp | ||
LayerBase.h | ||
LayerDim.cpp | ||
LayerDim.h | ||
LayerScreenshot.cpp | ||
LayerScreenshot.h | ||
MessageQueue.cpp | ||
MessageQueue.h | ||
MODULE_LICENSE_APACHE2 | ||
SurfaceFlinger.cpp | ||
SurfaceFlinger.h | ||
SurfaceTextureLayer.cpp | ||
SurfaceTextureLayer.h | ||
Transform.cpp | ||
Transform.h |