diff options
author | Mathias Agopian <mathias@google.com> | 2011-06-13 14:13:21 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-06-13 14:13:21 -0700 |
commit | 77079399fca3e9c71e2ac06f3da26934e1c278b9 (patch) | |
tree | 5a87f9e9d6f09afb81e9f4da952be5ff2b391af0 /services | |
parent | fc441bfff9eb68be08eb922ea05c78c5d6fba27a (diff) | |
parent | a9c9a4baf24700e8817d47d8ea8da1742caea0b5 (diff) | |
download | frameworks_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.cpp | 5 | ||||
-rw-r--r-- | services/surfaceflinger/Layer.h | 4 |
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: |