diff options
author | Mathias Agopian <mathias@google.com> | 2009-10-07 17:58:29 -0700 |
---|---|---|
committer | Mathias Agopian <mathias@google.com> | 2009-10-07 17:58:29 -0700 |
commit | 46b2df153fccf7f918ee5d7d747c208bdd2d55f4 (patch) | |
tree | 1e3121c3916f0a23d15adf8bd10445db629b6ee4 /libs/surfaceflinger | |
parent | a2de8e31c2693d009db1f9386406758874dd1d40 (diff) | |
download | frameworks_base-46b2df153fccf7f918ee5d7d747c208bdd2d55f4.zip frameworks_base-46b2df153fccf7f918ee5d7d747c208bdd2d55f4.tar.gz frameworks_base-46b2df153fccf7f918ee5d7d747c208bdd2d55f4.tar.bz2 |
fix [2164183] sometimes device just wants to stay asleep
When switching rapidily orientation back and forth, surfaces end-up
acquiring the freeze-lock when the first orientation change happens,
but never release it because by the time the 2nd orientation change
comes in, the surface size is back to its original size and
doesn't appear to have resized.
we now always release the freeze-lock when we receive a buffer of the
expected size.
Diffstat (limited to 'libs/surfaceflinger')
-rw-r--r-- | libs/surfaceflinger/Layer.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libs/surfaceflinger/Layer.cpp b/libs/surfaceflinger/Layer.cpp index 2a3e667..7fd5434 100644 --- a/libs/surfaceflinger/Layer.cpp +++ b/libs/surfaceflinger/Layer.cpp @@ -454,10 +454,10 @@ void Layer::lockPageFlip(bool& recomputeVisibleRegions) // recompute visible region recomputeVisibleRegions = true; - - // we now have the correct size, unfreeze the screen - mFreezeLock.clear(); } + + // we now have the correct size, unfreeze the screen + mFreezeLock.clear(); } if (lcblk->getQueuedCount()) { |