am a6a4a9ed: am f6c82067: fix a surface leak introduced by a failed merge (DO NOT MERGE)
* commit 'a6a4a9ed46d02ec0c6493a97cd1d3351bdcced63': fix a surface leak introduced by a failed merge (DO NOT MERGE)
This commit is contained in:
commit
13b37b896b
@ -1389,6 +1389,14 @@ status_t SurfaceFlinger::destroySurface(const wp<LayerBaseClient>& layer)
|
||||
if (l != NULL) {
|
||||
Mutex::Autolock _l(mStateLock);
|
||||
err = removeLayer_l(l);
|
||||
if (err == NAME_NOT_FOUND) {
|
||||
// The surface wasn't in the current list, which means it was
|
||||
// removed already, which means it is in the purgatory,
|
||||
// and need to be removed from there.
|
||||
ssize_t idx = mLayerPurgatory.remove(l);
|
||||
LOGE_IF(idx < 0,
|
||||
"layer=%p is not in the purgatory list", l.get());
|
||||
}
|
||||
LOGE_IF(err<0 && err != NAME_NOT_FOUND,
|
||||
"error removing layer=%p (%s)", l.get(), strerror(-err));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user