diff options
| author | 2009-09-10 22:59:12 -0400 | |
|---|---|---|
| committer | 2009-09-10 22:59:12 -0400 | |
| commit | f84a21820b39dbfa983352b7d8ac949e560827d3 (patch) | |
| tree | 6558a96f8843fd9ce7f0f6056adc1db3f44d34fa /libs/ui/SharedBufferStack.cpp | |
| parent | 12d2cdcdb0eed759b0e7738cbdefaa726a71930b (diff) | |
| parent | 248b5bd51e325107f8119b564db6a06ac51c232a (diff) | |
Merge change 24643 into eclair
* changes:
fix [2112575] stuck on DequeueCondition for a surface that doesn't exist anymore
Diffstat (limited to 'libs/ui/SharedBufferStack.cpp')
| -rw-r--r-- | libs/ui/SharedBufferStack.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/libs/ui/SharedBufferStack.cpp b/libs/ui/SharedBufferStack.cpp index 73fb582f9c3e..3fbd8c7ae34e 100644 --- a/libs/ui/SharedBufferStack.cpp +++ b/libs/ui/SharedBufferStack.cpp @@ -53,21 +53,20 @@ uint32_t SharedClient::getIdentity(size_t token) const { return uint32_t(surfaces[token].identity); } -status_t SharedClient::setIdentity(size_t token, uint32_t identity) { - if (token >= NUM_LAYERS_MAX) - return BAD_INDEX; - surfaces[token].identity = identity; - return NO_ERROR; -} - // ---------------------------------------------------------------------------- SharedBufferStack::SharedBufferStack() - : inUse(-1), status(NO_ERROR), identity(-1) { } +void SharedBufferStack::init(int32_t i) +{ + inUse = -1; + status = NO_ERROR; + identity = i; +} + status_t SharedBufferStack::setDirtyRegion(int buffer, const Region& dirty) { if (uint32_t(buffer) >= NUM_BUFFER_MAX) @@ -312,9 +311,10 @@ status_t SharedBufferClient::setDirtyRegion(int buffer, const Region& reg) // ---------------------------------------------------------------------------- SharedBufferServer::SharedBufferServer(SharedClient* sharedClient, - int surface, int num) + int surface, int num, int32_t identity) : SharedBufferBase(sharedClient, surface, num) { + mSharedStack->init(identity); mSharedStack->head = num-1; mSharedStack->available = num; mSharedStack->queued = 0; |