summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2011-06-13 14:13:21 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2011-06-13 14:13:21 -0700
commit77079399fca3e9c71e2ac06f3da26934e1c278b9 (patch)
tree5a87f9e9d6f09afb81e9f4da952be5ff2b391af0 /services
parentfc441bfff9eb68be08eb922ea05c78c5d6fba27a (diff)
parenta9c9a4baf24700e8817d47d8ea8da1742caea0b5 (diff)
downloadframeworks_base-77079399fca3e9c71e2ac06f3da26934e1c278b9.zip
frameworks_base-77079399fca3e9c71e2ac06f3da26934e1c278b9.tar.gz
frameworks_base-77079399fca3e9c71e2ac06f3da26934e1c278b9.tar.bz2
am a9c9a4ba: fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE)
* commit 'a9c9a4baf24700e8817d47d8ea8da1742caea0b5': fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE)
Diffstat (limited to 'services')
-rw-r--r--services/surfaceflinger/Layer.cpp5
-rw-r--r--services/surfaceflinger/Layer.h4
2 files changed, 5 insertions, 4 deletions
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp
index 1d75a7b..a35811d 100644
--- a/services/surfaceflinger/Layer.cpp
+++ b/services/surfaceflinger/Layer.cpp
@@ -61,6 +61,7 @@ Layer::Layer(SurfaceFlinger* flinger,
mBufferManager(mTextureManager),
mWidth(0), mHeight(0), mNeedsScaling(false), mFixedSize(false)
{
+ setDestroyer(this);
}
Layer::~Layer()
@@ -77,8 +78,8 @@ Layer::~Layer()
}
}
-void Layer::destroy() const {
- mFlinger->destroyLayer(this);
+void Layer::destroy(RefBase const* base) {
+ mFlinger->destroyLayer(static_cast<LayerBase const*>(base));
}
status_t Layer::setToken(const sp<UserClient>& userClient,
diff --git a/services/surfaceflinger/Layer.h b/services/surfaceflinger/Layer.h
index 278d64e..5330c08 100644
--- a/services/surfaceflinger/Layer.h
+++ b/services/surfaceflinger/Layer.h
@@ -44,7 +44,7 @@ class UserClient;
// ---------------------------------------------------------------------------
-class Layer : public LayerBaseClient
+class Layer : public LayerBaseClient, private RefBase::Destroyer
{
public:
Layer(SurfaceFlinger* flinger, DisplayID display,
@@ -92,7 +92,7 @@ public:
return mFreezeLock; }
protected:
- virtual void destroy() const;
+ virtual void destroy(RefBase const* base);
virtual void dump(String8& result, char* scratch, size_t size) const;
private: