diff options
| author | 2017-10-04 20:06:08 +0000 | |
|---|---|---|
| committer | 2017-10-04 20:06:08 +0000 | |
| commit | 851f74aa405aea0fcd8f4fa464d285901db3b644 (patch) | |
| tree | acd06ccc7f7c31c59ab624892ecf267899f3f600 | |
| parent | f3b4c29209e471f56ffc0cf5540a721b8a39954c (diff) | |
| parent | 35b5114be8da71c69fc8a1ff8fb457c912c0992f (diff) | |
Solve the composer service NULL pointer crash
am: 35b5114be8
Change-Id: I87a02aabe699db010c2eaba4178c9dff77e38f5a
| -rw-r--r-- | libs/hwc2on1adapter/HWC2On1Adapter.cpp | 8 |
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; |