aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-06-19 11:41:07 +0900
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-06-19 11:41:07 +0900
commit006e07f25ca03271072a6756bc75750fca3019f7 (patch)
tree661bacc566da179b1930f5b4c4a94979643421ce
parent260f9c8caae3938815fded0993c6b33676638268 (diff)
Bug Fix : Change state when application is terminated
When app is dead, Window Maanger has to change the state, otherwise access violation happens Change-Id: I3a5a7571c47cfd60751a91ba39c8c650944aa45c Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
-rw-r--r--src/main.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 25fbf2a..9350634 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -197,6 +197,18 @@ static void cbRemoveClientCtxt(void *data)
if (pSid)
{
auto sid = *pSid;
+ auto o_state = *g_afb_instance->app.layers.get_layout_state(sid);
+ if (o_state != nullptr)
+ {
+ if (o_state->main == sid)
+ {
+ o_state->main = -1;
+ }
+ else if (o_state->sub == sid)
+ {
+ o_state->sub = -1;
+ }
+ }
g_afb_instance->app.id_alloc.remove_id(sid);
g_afb_instance->app.layers.remove_surface(sid);
g_afb_instance->app.controller->sprops.erase(sid);