summaryrefslogtreecommitdiff
path: root/services/inputflinger/reader/InputDevice.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'services/inputflinger/reader/InputDevice.cpp')
-rw-r--r--services/inputflinger/reader/InputDevice.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/services/inputflinger/reader/InputDevice.cpp b/services/inputflinger/reader/InputDevice.cpp
index a0119986a6..989700f6cf 100644
--- a/services/inputflinger/reader/InputDevice.cpp
+++ b/services/inputflinger/reader/InputDevice.cpp
@@ -232,6 +232,10 @@ void InputDevice::addEventHubDevice(int32_t eventHubId, bool populateMappers) {
}
void InputDevice::removeEventHubDevice(int32_t eventHubId) {
+ if (mController != nullptr && mController->getEventHubId() == eventHubId) {
+ // Delete mController, since the corresponding eventhub device is going away
+ mController = nullptr;
+ }
mDevices.erase(eventHubId);
}