diff options
author | 2013-09-17 21:31:13 +0000 | |
---|---|---|
committer | 2013-09-17 21:31:14 +0000 | |
commit | 02b62df7119b27c89d91d96938d8f4f5232b296b (patch) | |
tree | 0ad1b98a6e21f05e571e37da588dc82bad297fdc /libs/gui/Surface.cpp | |
parent | fca43392b755b34c83c3abbfea216bafa9cd8171 (diff) | |
parent | 365857df8b94c959dea984a63013f6e7730ef976 (diff) |
Merge "Make sure do disconnect from a BQ when its client dies." into klp-dev
Diffstat (limited to 'libs/gui/Surface.cpp')
-rw-r--r-- | libs/gui/Surface.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp index 1bae0fed49..27dbc4eeea 100644 --- a/libs/gui/Surface.cpp +++ b/libs/gui/Surface.cpp @@ -490,9 +490,10 @@ int Surface::dispatchUnlockAndPost(va_list args) { int Surface::connect(int api) { ATRACE_CALL(); ALOGV("Surface::connect"); + static sp<BBinder> sLife = new BBinder(); Mutex::Autolock lock(mMutex); IGraphicBufferProducer::QueueBufferOutput output; - int err = mGraphicBufferProducer->connect(api, mProducerControlledByApp, &output); + int err = mGraphicBufferProducer->connect(sLife, api, mProducerControlledByApp, &output); if (err == NO_ERROR) { uint32_t numPendingBuffers = 0; output.deflate(&mDefaultWidth, &mDefaultHeight, &mTransformHint, @@ -505,6 +506,7 @@ int Surface::connect(int api) { return err; } + int Surface::disconnect(int api) { ATRACE_CALL(); ALOGV("Surface::disconnect"); |