aboutsummaryrefslogtreecommitdiffstats
path: root/src/window_manager.cpp
diff options
context:
space:
mode:
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-08-30 14:30:16 +0900
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-09-11 13:37:29 +0900
commitd5a353563462d3eebd5e138a0ed4f850ea8cd809 (patch)
treee697df722979e4f5904397e13bb63b69a44ec5df /src/window_manager.cpp
parentb77279919e694ff49dc8032840aff0f5be8b7967 (diff)
Fix Window Manager crush when application terminated
Fix Window Manager crush when applicaiton terminated caused by wrong handling of sd_event_source. v2. Add error check just in case conflict : window_manager.cpp Fix build error Bug-AGL: SPEC-1696 Change-Id: I639a60015cde46fca6bc5a3f6e8037afd8d79330 Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
Diffstat (limited to 'src/window_manager.cpp')
-rw-r--r--src/window_manager.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/window_manager.cpp b/src/window_manager.cpp
index dec7752..41fc5c8 100644
--- a/src/window_manager.cpp
+++ b/src/window_manager.cpp
@@ -867,8 +867,12 @@ void WindowManager::startTransitionWrapper(vector<WMAction> &actions)
if ("" != act.role)
{
bool found;
- auto const &surface_id = this->id_alloc.lookup(act.role);
- string appid = g_app_list.getAppID(*surface_id, &found);
+ auto const &surface_id = this->id_alloc.lookup(act.role.c_str());
+ if(surface_id == nullopt)
+ {
+ goto proc_remove_request;
+ }
+ std::string appid = g_app_list.getAppID(*surface_id, &found);
if (!found)
{
if (TaskVisible::INVISIBLE == act.visible)