diff options
| author | Jamie Gennis <jgennis@google.com> | 2011-01-30 15:00:44 -0800 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-01-30 15:00:44 -0800 |
| commit | 628845056282a0c5b1a212ce5aeeaac092b91ec8 (patch) | |
| tree | eac60b66d962192fbbc81b1c8ea401675483668f /libs/gui/SurfaceTextureClient.cpp | |
| parent | 71a22b3bc7cb4a721378ef38d43bce94f5b0e5bd (diff) | |
| parent | 2ece4cdc3fd0f8a45a889c711dba7165729e8ca5 (diff) | |
| download | frameworks_base-628845056282a0c5b1a212ce5aeeaac092b91ec8.zip frameworks_base-628845056282a0c5b1a212ce5aeeaac092b91ec8.tar.gz frameworks_base-628845056282a0c5b1a212ce5aeeaac092b91ec8.tar.bz2 | |
Merge "Reset ANativeWindow crop on buffer geometry changes." into honeycomb
Diffstat (limited to 'libs/gui/SurfaceTextureClient.cpp')
| -rw-r--r-- | libs/gui/SurfaceTextureClient.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/libs/gui/SurfaceTextureClient.cpp b/libs/gui/SurfaceTextureClient.cpp index c0e4e0f..50cbdb8 100644 --- a/libs/gui/SurfaceTextureClient.cpp +++ b/libs/gui/SurfaceTextureClient.cpp @@ -238,13 +238,15 @@ int SurfaceTextureClient::setCrop(Rect const* rect) LOGV("SurfaceTextureClient::setCrop"); Mutex::Autolock lock(mMutex); - // empty/invalid rects are not allowed - if (rect->isEmpty()) - return BAD_VALUE; + Rect realRect; + if (rect == NULL || rect->isEmpty()) { + realRect = Rect(0, 0); + } else { + realRect = *rect; + } status_t err = mSurfaceTexture->setCrop(*rect); - LOGE_IF(err, "ISurfaceTexture::setCrop(...) returned %s", - strerror(-err)); + LOGE_IF(err, "ISurfaceTexture::setCrop(...) returned %s", strerror(-err)); return err; } @@ -280,7 +282,10 @@ int SurfaceTextureClient::setBuffersGeometry(int w, int h, int format) mReqHeight = h; mReqFormat = format; - return NO_ERROR; + status_t err = mSurfaceTexture->setCrop(Rect(0, 0)); + LOGE_IF(err, "ISurfaceTexture::setCrop(...) returned %s", strerror(-err)); + + return err; } int SurfaceTextureClient::setBuffersTransform(int transform) |
