aboutsummaryrefslogtreecommitdiffstats
path: root/src/window_manager.cpp
diff options
context:
space:
mode:
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-11-29 21:11:50 +0900
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-12-03 13:01:18 +0900
commita96fae7e99c2d13bc864d919cbdbcd68ba9cb841 (patch)
tree862543d37148e492b922a6c629a2a3be13480ab9 /src/window_manager.cpp
parent2b1bf85afe0a8b24f75386f7c24df85f9b785bd3 (diff)
Fix timing issue of surface creation
Rarely Window Manager get the event of surface creation after activateWindow. In that case, Window Manager reject application request because client doesn't have surface. This patch makes WM does provisional registration. Change-Id: Ib0a54a7f399f333175e0a4613364f7bcb0de9cc7 Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
Diffstat (limited to 'src/window_manager.cpp')
-rw-r--r--src/window_manager.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/window_manager.cpp b/src/window_manager.cpp
index cd7d2e5..5dc22be 100644
--- a/src/window_manager.cpp
+++ b/src/window_manager.cpp
@@ -187,6 +187,9 @@ result<int> WindowManager::api_request_surface(char const *appid, char const *dr
auto id = int(this->id_alloc.generate_id(role));
this->tmp_surface2app[id] = {str_id, lid};
+ auto client = g_app_list.lookUpClient(str_id);
+ client->registerSurface(id);
+
return Ok<int>(id);
}