summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2011-11-18 13:35:23 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2011-11-18 13:35:23 -0800
commitd0df44b5c979e00a19187cea35768ba26557e447 (patch)
treed35280fd9ed5c113422c928b469c2c788d427615
parentcb513ba7f14fdf08b5729edef5baf22e302e3e08 (diff)
parent4d71053b0728b248d80d7d5a098df459722e2be0 (diff)
downloadframeworks_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.h1
-rw-r--r--libs/gui/SurfaceTextureClient.cpp6
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;