fix segmentation fault error
[apps/agl-service-homescreen.git] / src / hs-vuiadapter.cpp
index cbcc8e0..9b04569 100644 (file)
@@ -188,10 +188,11 @@ void Vui_Navigation::cancel_navigation(afb_api_t api, struct json_object *object
  */
 void Vui_Navigation::notify(afb_api_t api, std::string appid)
 {
+    AFB_INFO("recover appid=[%s].", appid.c_str());
     if(isListenAppId(appid)) {
         if (appid == _poi) {
             m_start_flg.first = true;
-            sleep(1);
+            // sleep(1);
             set_destination2poi(api);
         }
         else if(appid == _navigation) {
@@ -204,8 +205,8 @@ void Vui_Navigation::notify(afb_api_t api, std::string appid)
         }
     }
     if(m_start_flg.first && m_start_flg.second) {
+        clearListenAppSet();this->removeListenAppId(appid);
         HS_ClientManager::instance()->removeListener(this);
-        clearListenAppSet();
     }
 }
 
@@ -277,10 +278,10 @@ HS_VuiAdapter* HS_VuiAdapter::instance(void)
  */
 void HS_VuiAdapter::init(afb_api_t api)
 {
-    if(afb_api_require_api(api, _vshl_capabilities, 0)) {
-        AFB_INFO("%s api isn't existing.", _vshl_capabilities);
-        return;
-    }
+    // if(afb_api_require_api(api, _vshl_capabilities, 0)) {
+    //     AFB_INFO("%s api isn't existing.", _vshl_capabilities);
+    //     return;
+    // }
 
     std::string uid = std::string(_vui_prefixe) + std::string("-") + _navigation;
     module_list[uid] = new Vui_Navigation(uid);