frameworks: WindowManagerService: Fix out of memory for surface error
authorKan-Ru Chen <kanru@0xlab.org>
Mon, 4 Oct 2010 11:06:52 +0000 (19:06 +0800)
committerKan-Ru Chen <kanru@0xlab.org>
Mon, 4 Oct 2010 11:08:34 +0000 (19:08 +0800)
commit862662d62bd003be529d09f541e937060556bb1a
tree9ec2b2e776f34ece5c65845ec195f69a965a52bd
parentcdb9c693a49df23e93a91caa8b4192fddcec0292
frameworks: WindowManagerService: Fix out of memory for surface error

Surface.openTransaction and Surface.closeTransaction is not reentrant.
If we are updating the mouse surface when the WindowManager is also
updating the surfaces, the global transaction can be closed too early
by the other side. The results are random runtime exceptions and
unstable surface state.

Move the mouse surface update logic to the big surfaces update
loop, together with the other surfaces update logic.
services/java/com/android/server/WindowManagerService.java