[NBS] Unregister listener when profile is disconnected.
authorTomasz Marciniak <t.marciniak@samsung.com>
Mon, 18 May 2015 12:12:53 +0000 (14:12 +0200)
committerTomasz Marciniak <t.marciniak@samsung.com>
Mon, 18 May 2015 12:14:49 +0000 (14:14 +0200)
[Verification] Code compiles without errors.
Manual test NetworkSuccessCallback_ondisconnected passes.
TCT Auto passrate 100%

Change-Id: I37ff7d6030967e369c2a95e8aeb5b49f00a6d527
Signed-off-by: Tomasz Marciniak <t.marciniak@samsung.com>
src/networkbearerselection/networkbearerselection_manager.cc

index 6879bc2b69e3247afe852c8394160472b2bce99e..b1c01c5609d0664f5ebb1443db3a543da2228e59 100644 (file)
@@ -87,12 +87,13 @@ void NetworkBearerSelectionManager::connection_state_changed_callback(
     }
     NetworkBearerSelectionRequestEvent* event =
         static_cast<NetworkBearerSelectionRequestEvent*>(user_data);
-    std::string domain_name = event->domain_name;
-    delete event;
-    NetworkBearerSelectionManager::GetInstance()->deregistStateChangeListener(domain_name);
+
     if (state == CONNECTION_PROFILE_STATE_DISCONNECTED) {
-      NetworkBearerSelectionManager::GetInstance()->makeDisconnectCallback(
-          domain_name);
+      std::string domain_name = event->domain_name;
+      NetworkBearerSelectionManager::GetInstance()->deregistStateChangeListener(domain_name);
+      delete event;
+
+      NetworkBearerSelectionManager::GetInstance()->makeDisconnectCallback(domain_name);
     }
   }
 }