diff options
Diffstat (limited to 'services/surfaceflinger/Layer.cpp')
-rw-r--r-- | services/surfaceflinger/Layer.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp index 0137120a0bb6..2bab6a8fe18b 100644 --- a/services/surfaceflinger/Layer.cpp +++ b/services/surfaceflinger/Layer.cpp @@ -69,13 +69,15 @@ Layer::Layer(SurfaceFlinger* flinger, glGenTextures(1, &mTextureName); } -void Layer::destroy() const { - mFlinger->destroyLayer(this); +void Layer::destroy(RefBase const* base) { + mFlinger->destroyLayer(static_cast<LayerBase const*>(base)); } void Layer::onFirstRef() { LayerBaseClient::onFirstRef(); + setDestroyer(this); + struct FrameQueuedListener : public SurfaceTexture::FrameAvailableListener { FrameQueuedListener(Layer* layer) : mLayer(layer) { } private: |