From 6edf5af578c1ab1fcd44b7c08ca371456e4b7430 Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Fri, 19 Jun 2009 17:00:27 -0700 Subject: fix a memory corruption where a SF Client could be used after it's been destroyed --- libs/surfaceflinger/Layer.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'libs/surfaceflinger/Layer.h') diff --git a/libs/surfaceflinger/Layer.h b/libs/surfaceflinger/Layer.h index e16d9f4..a19c171 100644 --- a/libs/surfaceflinger/Layer.h +++ b/libs/surfaceflinger/Layer.h @@ -58,7 +58,7 @@ public: virtual uint32_t getTypeInfo() const { return typeInfo; } Layer(SurfaceFlinger* flinger, DisplayID display, - Client* c, int32_t i); + const sp& client, int32_t i); virtual ~Layer(); @@ -66,8 +66,7 @@ public: return frontBuffer().getPixelFormat(); } - status_t setBuffers( Client* client, - uint32_t w, uint32_t h, + status_t setBuffers( uint32_t w, uint32_t h, PixelFormat format, uint32_t flags=0); virtual void onDraw(const Region& clip) const; @@ -105,6 +104,7 @@ private: Region post(uint32_t* oldState, bool& recomputeVisibleRegions); sp peekBuffer(); void destroy(); + void scheduleBroadcast(); class SurfaceLayer : public LayerBaseClient::Surface -- cgit v1.1