diff options
author | Mathias Agopian <mathias@google.com> | 2011-11-18 13:35:23 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-11-18 13:35:23 -0800 |
commit | d0df44b5c979e00a19187cea35768ba26557e447 (patch) | |
tree | d35280fd9ed5c113422c928b469c2c788d427615 | |
parent | cb513ba7f14fdf08b5729edef5baf22e302e3e08 (diff) | |
parent | 4d71053b0728b248d80d7d5a098df459722e2be0 (diff) | |
download | frameworks_base-d0df44b5c979e00a19187cea35768ba26557e447.zip frameworks_base-d0df44b5c979e00a19187cea35768ba26557e447.tar.gz frameworks_base-d0df44b5c979e00a19187cea35768ba26557e447.tar.bz2 |
am 4d71053b: Merge "attempt to fix bug 5313580" into ics-mr1
* commit '4d71053b0728b248d80d7d5a098df459722e2be0':
attempt to fix bug 5313580
-rw-r--r-- | include/gui/SurfaceTextureClient.h | 1 | ||||
-rw-r--r-- | libs/gui/SurfaceTextureClient.cpp | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/include/gui/SurfaceTextureClient.h b/include/gui/SurfaceTextureClient.h index 57f9e15..971a1b8 100644 --- a/include/gui/SurfaceTextureClient.h +++ b/include/gui/SurfaceTextureClient.h @@ -40,6 +40,7 @@ public: protected: SurfaceTextureClient(); + virtual ~SurfaceTextureClient(); void setISurfaceTexture(const sp<ISurfaceTexture>& surfaceTexture); private: diff --git a/libs/gui/SurfaceTextureClient.cpp b/libs/gui/SurfaceTextureClient.cpp index 98fa171..48070d6 100644 --- a/libs/gui/SurfaceTextureClient.cpp +++ b/libs/gui/SurfaceTextureClient.cpp @@ -36,6 +36,12 @@ SurfaceTextureClient::SurfaceTextureClient() { SurfaceTextureClient::init(); } +SurfaceTextureClient::~SurfaceTextureClient() { + if (mConnectedToCpu) { + SurfaceTextureClient::disconnect(NATIVE_WINDOW_API_CPU); + } +} + void SurfaceTextureClient::init() { // Initialize the ANativeWindow function pointers. ANativeWindow::setSwapInterval = hook_setSwapInterval; |