diff options
| author | Mathias Agopian <mathias@google.com> | 2009-07-09 20:05:11 -0700 |
|---|---|---|
| committer | The Android Open Source Project <initial-contribution@android.com> | 2009-07-09 20:05:11 -0700 |
| commit | 07e456d871749c256ba94a7333d029344eafbdfb (patch) | |
| tree | 128c5dd32ddf42f166b0dea709ba67d52a249b11 /libs/surfaceflinger/SurfaceFlinger.cpp | |
| parent | 320a34aa4f591a1b1b5a3f9e6418e97045ded270 (diff) | |
| parent | 4d2dbebf3d08209f751585d8cc367369e2f6e32f (diff) | |
| download | frameworks_base-07e456d871749c256ba94a7333d029344eafbdfb.zip frameworks_base-07e456d871749c256ba94a7333d029344eafbdfb.tar.gz frameworks_base-07e456d871749c256ba94a7333d029344eafbdfb.tar.bz2 | |
am 4d2dbebf: fix for [1885684] E/SurfaceFlinger( 60): not enough memory for layer bitmap size=4294938624
Merge commit '4d2dbebf3d08209f751585d8cc367369e2f6e32f'
* commit '4d2dbebf3d08209f751585d8cc367369e2f6e32f':
fix for [1885684] E/SurfaceFlinger( 60): not enough memory for layer bitmap size=4294938624
Diffstat (limited to 'libs/surfaceflinger/SurfaceFlinger.cpp')
| -rw-r--r-- | libs/surfaceflinger/SurfaceFlinger.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libs/surfaceflinger/SurfaceFlinger.cpp b/libs/surfaceflinger/SurfaceFlinger.cpp index 5ac1cfd..7a7574f 100644 --- a/libs/surfaceflinger/SurfaceFlinger.cpp +++ b/libs/surfaceflinger/SurfaceFlinger.cpp @@ -1212,6 +1212,13 @@ sp<ISurface> SurfaceFlinger::createSurface(ClientID clientId, int pid, { sp<LayerBaseClient> layer; sp<LayerBaseClient::Surface> surfaceHandle; + + if (int32_t(w|h) < 0) { + LOGE("createSurface() failed, w or h is negative (w=%d, h=%d)", + int(w), int(h)); + return surfaceHandle; + } + Mutex::Autolock _l(mStateLock); sp<Client> client = mClientsMap.valueFor(clientId); if (UNLIKELY(client == 0)) { |
