summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2020-03-25 23:07:57 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2020-03-25 23:07:57 +0000
commit43d718a66c2faaab44281a24adcc18dc075c0b33 (patch)
tree768e86dc9c2fce319f10adb7a7c09158921a5ea9
parentebfb2a83f78dc016e4eb70272df0c7e125aea748 (diff)
parent58e1ce0b3b6881d2ac3ff3bfd4b0548c121286ea (diff)
downloadnative-43d718a66c2faaab44281a24adcc18dc075c0b33.tar.gz
Snap for 6332289 from 58e1ce0b3b6881d2ac3ff3bfd4b0548c121286ea to qt-qpr3-release
Change-Id: Iae3f3f57c29506d81fa6483538e42e381d454851
-rw-r--r--services/surfaceflinger/RegionSamplingThread.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/services/surfaceflinger/RegionSamplingThread.cpp b/services/surfaceflinger/RegionSamplingThread.cpp
index 07fdead310..80da154278 100644
--- a/services/surfaceflinger/RegionSamplingThread.cpp
+++ b/services/surfaceflinger/RegionSamplingThread.cpp
@@ -200,9 +200,10 @@ RegionSamplingThread::~RegionSamplingThread() {
void RegionSamplingThread::addListener(const Rect& samplingArea, const sp<IBinder>& stopLayerHandle,
const sp<IRegionSamplingListener>& listener) {
- wp<Layer> stopLayer = stopLayerHandle != nullptr
- ? static_cast<Layer::Handle*>(stopLayerHandle.get())->owner
- : nullptr;
+ wp<Layer> stopLayer;
+ if (stopLayerHandle != nullptr && stopLayerHandle->localBinder() != nullptr) {
+ stopLayer = static_cast<Layer::Handle*>(stopLayerHandle.get())->owner;
+ }
sp<IBinder> asBinder = IInterface::asBinder(listener);
asBinder->linkToDeath(this);