From 46b2df153fccf7f918ee5d7d747c208bdd2d55f4 Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Wed, 7 Oct 2009 17:58:29 -0700 Subject: [PATCH] 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. --- libs/surfaceflinger/Layer.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libs/surfaceflinger/Layer.cpp b/libs/surfaceflinger/Layer.cpp index 2a3e6677e7451..7fd5434d05230 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()) {