From 7af77440715d19a2b5abff5a2c20b025e214dbe7 Mon Sep 17 00:00:00 2001 From: Jakub Skowron Date: Thu, 7 Sep 2017 16:41:04 +0200 Subject: [PATCH] [Systeminfo] Fix core dump in SystemInfoManager Cellular network listener was not unregistered, which caused core dump if network status changed after SystemInfoManager destructor. This is a hack, more robust solution should be developed. Change-Id: Id4d26492426028a87ebaf1109e4f7750dd10b7c4 Signed-off-by: Jakub Skowron --- src/systeminfo/systeminfo_manager.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/systeminfo/systeminfo_manager.cc b/src/systeminfo/systeminfo_manager.cc index a0bdc62..817698e 100644 --- a/src/systeminfo/systeminfo_manager.cc +++ b/src/systeminfo/systeminfo_manager.cc @@ -503,9 +503,9 @@ SysteminfoManager::~SysteminfoManager() { if (IsListenerRegistered(kPropertyIdDeviceOrientation)) { UnregisterDeviceOrientationListener(); } if (IsListenerRegistered(kPropertyIdLocale)) { UnregisterLocaleListener(); } if (IsListenerRegistered(kPropertyIdNetwork)) { UnregisterNetworkListener(); } - if (IsListenerRegistered(kPropertyIdWifiNetwork)) { UnregisterWifiNetworkListener(); } - if (IsListenerRegistered(kPropertyIdEthernetNetwork)) { UnregisterEthernetNetworkListener(); } - if (IsListenerRegistered(kPropertyIdCellularNetwork)) { UnregisterCellularNetworkListener(); } + if (IsListenerRegistered(kPropertyIdWifiNetwork)) { registered_listeners_.erase(kPropertyIdWifiNetwork)/*HACK*/; UnregisterWifiNetworkListener(); } + if (IsListenerRegistered(kPropertyIdEthernetNetwork)) { registered_listeners_.erase(kPropertyIdEthernetNetwork)/*HACK*/; UnregisterEthernetNetworkListener(); } + if (IsListenerRegistered(kPropertyIdCellularNetwork)) { registered_listeners_.erase(kPropertyIdCellularNetwork)/*HACK*/; UnregisterCellularNetworkListener(); } if (IsListenerRegistered(kPropertyIdPeripheral)) { UnregisterPeripheralListener(); } if (IsListenerRegistered(kPropertyIdMemory)) { UnregisterMemoryListener(); } if (IsListenerRegistered(kPropertyIdCameraFlash)) { UnregisterCameraFlashListener(); } -- 2.7.4