diff options
| author | 2020-06-22 11:52:39 -0700 | |
|---|---|---|
| committer | 2020-06-23 18:26:00 +0000 | |
| commit | b123f47bbde4d30be44ca02fc369f6ff83dbff8f (patch) | |
| tree | e24d17047550b705298480b230e8c1ddb9328601 /services/surfaceflinger/Layer.cpp | |
| parent | a03e1302db3c51be1e453af179e5549468b501ab (diff) | |
Call Layer::getLayerDebugInfo from the main thread
Fixes an issue where drawing state could be accessed from a binder
thread. The function also mixed current state with drawing state
incorrectly. The function now only retrieves drawing state.
Bug: 150226608
Test: Steps in bug doesn't repro
Test: atest sffakehwc_test
Merged-In: I5537c53e8214e2785473839d71fd483d1a3219b6
Change-Id: I04daedcb9a890083cc710bab30b295e14b9872ae
Diffstat (limited to 'services/surfaceflinger/Layer.cpp')
| -rw-r--r-- | services/surfaceflinger/Layer.cpp | 2 | 
1 files changed, 1 insertions, 1 deletions
diff --git a/services/surfaceflinger/Layer.cpp b/services/surfaceflinger/Layer.cpp index 1318bc0b2a..fccaf8166d 100644 --- a/services/surfaceflinger/Layer.cpp +++ b/services/surfaceflinger/Layer.cpp @@ -1280,7 +1280,7 @@ LayerDebugInfo Layer::getLayerDebugInfo() const {      LayerDebugInfo info;      const State& ds = getDrawingState();      info.mName = getName(); -    sp<Layer> parent = getParent(); +    sp<Layer> parent = mDrawingParent.promote();      info.mParentName = (parent == nullptr ? std::string("none") : parent->getName().string());      info.mType = std::string(getTypeId());      info.mTransparentRegion = ds.activeTransparentRegion_legacy;  |