diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2020-06-25 18:26:17 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-06-25 18:26:17 +0000 |
commit | 31e7a17effe49cf626c233602f718892d756a752 (patch) | |
tree | 400a88fd3f271812d1b1c412044e4456db81171b | |
parent | de435229e36390f044e14724fd5dda253703a8d6 (diff) | |
parent | be737674afd67f67e7053d3c0c87ed5dc61f052d (diff) | |
download | native-31e7a17effe49cf626c233602f718892d756a752.tar.gz |
Merge "Clear spam log for INPUT_FEATURE_NO_INPUT_CHANNEL window" into rvc-dev
-rw-r--r-- | services/inputflinger/dispatcher/InputDispatcher.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/services/inputflinger/dispatcher/InputDispatcher.cpp b/services/inputflinger/dispatcher/InputDispatcher.cpp index f011992daa..fe016af01f 100644 --- a/services/inputflinger/dispatcher/InputDispatcher.cpp +++ b/services/inputflinger/dispatcher/InputDispatcher.cpp @@ -3569,6 +3569,10 @@ std::vector<sp<InputWindowHandle>> InputDispatcher::getWindowHandlesLocked( sp<InputWindowHandle> InputDispatcher::getWindowHandleLocked( const sp<IBinder>& windowHandleToken) const { + if (windowHandleToken == nullptr) { + return nullptr; + } + for (auto& it : mWindowHandlesByDisplay) { const std::vector<sp<InputWindowHandle>> windowHandles = it.second; for (const sp<InputWindowHandle>& windowHandle : windowHandles) { @@ -3584,7 +3588,8 @@ bool InputDispatcher::hasWindowHandleLocked(const sp<InputWindowHandle>& windowH for (auto& it : mWindowHandlesByDisplay) { const std::vector<sp<InputWindowHandle>> windowHandles = it.second; for (const sp<InputWindowHandle>& handle : windowHandles) { - if (handle->getToken() == windowHandle->getToken()) { + if (handle->getId() == windowHandle->getId() && + handle->getToken() == windowHandle->getToken()) { if (windowHandle->getInfo()->displayId != it.first) { ALOGE("Found window %s in display %" PRId32 ", but it should belong to display %" PRId32, |