diff options
| author | 2009-10-02 23:35:12 -0400 | |
|---|---|---|
| committer | 2009-10-02 23:35:12 -0400 | |
| commit | 0b7b65da2faefb418ecb43b99025ccfabf4ceb32 (patch) | |
| tree | e101cea80b6258fa478b702cfef622747f3f9e39 /libs/surfaceflinger/LayerBase.h | |
| parent | 09fa0b2d73c386f69c10f2bf1f34625924b18300 (diff) | |
| parent | 0b3ad46a26dc3717260fa9347c77f673f3198606 (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.h | 9 |
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 { |