Fix a little sandbox/knimitz/16085
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>
Fri, 10 Aug 2018 06:30:23 +0000 (15:30 +0900)
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>
Fri, 10 Aug 2018 06:30:23 +0000 (15:30 +0900)
Change-Id: I2d43084b0f96c74134a3b0af5ea8839529439840
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
src/window_manager.cpp

index e785e4b..6731022 100644 (file)
@@ -661,12 +661,12 @@ void WindowManager::onApplicationTerminated(const WMClientCtxt& ctxt)
     // Recovery Phase
     if(priv.main == sid)
     {
-        HMI_DEBUG("wm", "go to launcher");
         if(ctxt.role != "launcher")
         {
-            // goto launcher
+            HMI_DEBUG("wm", "go to launcher");
             auto pSid = this->id_alloc.lookup("launcher");
-            std::string app = g_app_list.getAppID(*pSid, "launcher", &found);
+            if(pSid != nullptr)
+                std::string app = g_app_list.getAppID(*pSid, "launcher", &found);
             if(found)
             {
                 this->api_activate_surface(app.c_str(), "launcher", kNameAreaDefault,
@@ -676,10 +676,11 @@ void WindowManager::onApplicationTerminated(const WMClientCtxt& ctxt)
     }
     else if(priv.main != sid && priv.sub != sid)
     {
-        // re-show top surface
-        this->deactivate(priv.main);
-        this->activate(priv.main);
+        // TODO: re-show top surface. The bellow doesn't work.
+        /* this->deactivate(priv.main);
         this->layout_commit();
+        this->activate(priv.main);
+        this->layout_commit(); */
     }
     else {}
     g_app_list.removeClient(ctxt.name);