aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-09-25 13:30:07 +0900
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-09-25 13:30:12 +0900
commitb9da444f98dd5075dcda05932c47c732a5ae230f (patch)
treedc7ddf6c4561f0072dca4113899ef526f724a7bd
parentd2c062959c55c61a4e350f6df480d46d2a8d769c (diff)
Remove service surface in WMClient if service surface vanishes
Change-Id: I3c12a8313c6aaa411001fec260d09106f897664e Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
-rw-r--r--src/wm_client.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/wm_client.cpp b/src/wm_client.cpp
index 356cd6f..f2ad7be 100644
--- a/src/wm_client.cpp
+++ b/src/wm_client.cpp
@@ -141,6 +141,19 @@ bool WMClient::removeSurfaceIfExist(unsigned surface)
this->surface = INVALID_SURFACE_ID;
ret = true;
}
+ else
+ {
+ for(auto &x : this->service2surfaces)
+ {
+ if(x.second = surface)
+ {
+ ret = true;
+ string key = x.first;
+ this->service2surfaces.erase(key);
+ this->service2supplier.erase(key);
+ }
+ }
+ }
return ret;
}