OSDN Git Service

fix a corruption in blank/unblank
authorMathias Agopian <mathias@google.com>
Mon, 15 Oct 2012 23:51:41 +0000 (16:51 -0700)
committerAndroid (Google) Code Review <android-gerrit@google.com>
Tue, 16 Oct 2012 03:31:12 +0000 (20:31 -0700)
commitdb9b41fd157279d1b988a854e0d7c5b43c2fac38
tree7a478057b9f23065a8d0353fe75c7bfb9a4a2486
parent3365c56716432d3bfdf41bb82fb08df821f41d0c
fix a corruption in blank/unblank

we were holding a reference (ie: pointer) to a sp<DisplayDevice>
while processing the message. Meanwhile the object itself could
go away and we would end up accessing a dead object.

the root cause of the problem is that we are accessing mDisplays[]
in a few places outside of the main thread.

Bug: 7352770
Change-Id: I89e35dd85fb30e9a6383eca9a0bbc7028363876c
services/surfaceflinger/SurfaceFlinger.cpp
services/surfaceflinger/SurfaceFlinger.h