diff options
author | Kazumasa Mitsunari <knimitz@witz-inc.co.jp> | 2018-08-30 14:30:16 +0900 |
---|---|---|
committer | Kazumasa Mitsunari <knimitz@witz-inc.co.jp> | 2018-09-11 13:37:29 +0900 |
commit | d5a353563462d3eebd5e138a0ed4f850ea8cd809 (patch) | |
tree | e697df722979e4f5904397e13bb63b69a44ec5df /src | |
parent | b77279919e694ff49dc8032840aff0f5be8b7967 (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')
-rw-r--r-- | src/window_manager.cpp | 8 |
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) |