summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Android (Google) Code Review <android-gerrit@google.com> 2009-08-13 22:36:05 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2009-08-13 22:36:05 -0700
commita31deaf4a960058e533da35d6229f7aa8d4f00c1 (patch)
tree9ff5e002617f5121453cc71af963893a9a610cbd
parent185a5133cf4c805d3996a7f8fc3912a072f60f18 (diff)
parentc4915de8bb9454b8f10b0c9b7ac21e2bb7f65202 (diff)
Merge change 21225 into eclair
* changes: fix a bug that could cause a window to be hidden in some cases.
-rw-r--r--libs/surfaceflinger/Layer.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/libs/surfaceflinger/Layer.cpp b/libs/surfaceflinger/Layer.cpp
index ac4bf7ba4f08..6f92515c32cc 100644
--- a/libs/surfaceflinger/Layer.cpp
+++ b/libs/surfaceflinger/Layer.cpp
@@ -596,7 +596,12 @@ Region Layer::post(uint32_t* previousSate, bool& recomputeVisibleRegions)
Point Layer::getPhysicalSize() const
{
sp<const Buffer> front(frontBuffer().getBuffer());
- return Point(front->getWidth(), front->getHeight());
+ Point size(front->getWidth(), front->getHeight());
+ if ((size.x | size.y) == 0) {
+ // if we don't have a buffer yet, just use the state's size.
+ size = LayerBase::getPhysicalSize();
+ }
+ return size;
}
void Layer::unlockPageFlip(