fix [2269582] [TOP-10][Passion_1506][APT:Camera]Sometimes camera preview screen is truncated after launching and back to home screen by home key repeatedly
When a surface is removed from the screen while it holds a "freeze lock", the release of that lock happens in the destructor as a "safety net". However, it doesn't trigger an update at that point. Make sure that "freeze locks" are released from the transaction at the point a surface is removed from the screen (if it's not on screen, it shouldn't prevent the screen to redraw, and therefore cannot hold a freeze lock). The refresh corresponding to that transaction will pick it up as soon as possible.
This commit is contained in:
@@ -93,6 +93,7 @@ sp<LayerBaseClient::Surface> Layer::createSurface() const
|
||||
status_t Layer::ditch()
|
||||
{
|
||||
// the layer is not on screen anymore. free as much resources as possible
|
||||
mFreezeLock.clear();
|
||||
destroy();
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user