summaryrefslogtreecommitdiffstats
path: root/libs/surfaceflinger
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2009-10-07 17:58:29 -0700
committerMathias Agopian <mathias@google.com>2009-10-07 17:58:29 -0700
commit46b2df153fccf7f918ee5d7d747c208bdd2d55f4 (patch)
tree1e3121c3916f0a23d15adf8bd10445db629b6ee4 /libs/surfaceflinger
parenta2de8e31c2693d009db1f9386406758874dd1d40 (diff)
downloadframeworks_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.cpp6
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()) {