summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Randy Xu <randy.xu@intel.com> 2017-10-04 20:06:08 +0000
committer android-build-merger <android-build-merger@google.com> 2017-10-04 20:06:08 +0000
commit851f74aa405aea0fcd8f4fa464d285901db3b644 (patch)
treeacd06ccc7f7c31c59ab624892ecf267899f3f600
parentf3b4c29209e471f56ffc0cf5540a721b8a39954c (diff)
parent35b5114be8da71c69fc8a1ff8fb457c912c0992f (diff)
Solve the composer service NULL pointer crash
am: 35b5114be8 Change-Id: I87a02aabe699db010c2eaba4178c9dff77e38f5a
-rw-r--r--libs/hwc2on1adapter/HWC2On1Adapter.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/libs/hwc2on1adapter/HWC2On1Adapter.cpp b/libs/hwc2on1adapter/HWC2On1Adapter.cpp
index e1b9a8a6f1..77f06bbbe7 100644
--- a/libs/hwc2on1adapter/HWC2On1Adapter.cpp
+++ b/libs/hwc2on1adapter/HWC2On1Adapter.cpp
@@ -426,7 +426,13 @@ Error HWC2On1Adapter::registerCallback(Callback descriptor,
std::unique_lock<std::recursive_timed_mutex> lock(mStateMutex);
- mCallbacks[descriptor] = {callbackData, pointer};
+ if (pointer != nullptr) {
+ mCallbacks[descriptor] = {callbackData, pointer};
+ } else {
+ ALOGI("unregisterCallback(%s)", to_string(descriptor).c_str());
+ mCallbacks.erase(descriptor);
+ return Error::None;
+ }
bool hasPendingInvalidate = false;
std::vector<hwc2_display_t> displayIds;