summaryrefslogtreecommitdiff
path: root/libs/surfaceflinger/LayerBase.cpp
diff options
context:
space:
mode:
author Android (Google) Code Review <android-gerrit@google.com> 2009-10-02 23:35:12 -0400
committer Android (Google) Code Review <android-gerrit@google.com> 2009-10-02 23:35:12 -0400
commit0b7b65da2faefb418ecb43b99025ccfabf4ceb32 (patch)
treee101cea80b6258fa478b702cfef622747f3f9e39 /libs/surfaceflinger/LayerBase.cpp
parent09fa0b2d73c386f69c10f2bf1f34625924b18300 (diff)
parent0b3ad46a26dc3717260fa9347c77f673f3198606 (diff)
Merge change I0c4cec7e into eclair
* changes: Attempt to fix [2152536] ANR in browser
Diffstat (limited to 'libs/surfaceflinger/LayerBase.cpp')
-rw-r--r--libs/surfaceflinger/LayerBase.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/libs/surfaceflinger/LayerBase.cpp b/libs/surfaceflinger/LayerBase.cpp
index d83c8429eb..83814ccf9a 100644
--- a/libs/surfaceflinger/LayerBase.cpp
+++ b/libs/surfaceflinger/LayerBase.cpp
@@ -690,6 +690,14 @@ sp<LayerBaseClient::Surface> LayerBaseClient::createSurface() const
const_cast<LayerBaseClient *>(this));
}
+// called with SurfaceFlinger::mStateLock as soon as the layer is entered
+// in the purgatory list
+void LayerBaseClient::onRemoved()
+{
+ // wake up the condition
+ lcblk->setStatus(NO_INIT);
+}
+
// ---------------------------------------------------------------------------
LayerBaseClient::Surface::Surface(
@@ -700,7 +708,6 @@ LayerBaseClient::Surface::Surface(
{
}
-
LayerBaseClient::Surface::~Surface()
{
/*