diff options
-rw-r--r-- | src/window_manager.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/window_manager.cpp b/src/window_manager.cpp index e785e4b..6731022 100644 --- a/src/window_manager.cpp +++ b/src/window_manager.cpp @@ -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); |