summaryrefslogtreecommitdiff
path: root/libs/surfaceflinger/LayerBase.h
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.h
parent09fa0b2d73c386f69c10f2bf1f34625924b18300 (diff)
parent0b3ad46a26dc3717260fa9347c77f673f3198606 (diff)
Merge change I0c4cec7e into eclair
* changes: Attempt to fix [2152536] ANR in browser
Diffstat (limited to 'libs/surfaceflinger/LayerBase.h')
-rw-r--r--libs/surfaceflinger/LayerBase.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/libs/surfaceflinger/LayerBase.h b/libs/surfaceflinger/LayerBase.h
index 16ee542246..0dfa4fe862 100644
--- a/libs/surfaceflinger/LayerBase.h
+++ b/libs/surfaceflinger/LayerBase.h
@@ -205,10 +205,13 @@ public:
*/
virtual bool isSecure() const { return false; }
- /** signal this layer that it's not needed any longer. called from the
- * main thread */
+ /** Called from the main thread, when the surface is removed from the
+ * draw list */
virtual status_t ditch() { return NO_ERROR; }
+ /** called with the state lock when the surface is removed from the
+ * current list */
+ virtual void onRemoved() { };
enum { // flags for doTransaction()
@@ -318,7 +321,7 @@ public:
sp<Surface> getSurface();
virtual sp<Surface> createSurface() const;
- virtual void onRemoved() { }
+ virtual void onRemoved();
class Surface : public BnSurface
{