OSDN Git Service

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)
committerChih-Wei Huang <cwhuang@linux.org.tw>
Fri, 29 Oct 2010 09:01:46 +0000 (17:01 +0800)
commit08205fba7dccf4bb27bc381f03223caf48d1cd4f
treeaf39a740cdc28b9f1fe653413d3ed0305ee6488f
parent32b80f3a222de63d1df28260432de232196ccf94
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