summaryrefslogtreecommitdiffstats
path: root/src/app.cpp
diff options
context:
space:
mode:
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>2017-12-22 12:28:21 +0900
committerTadao Tanikawa <tanikawa.tadao@jp.panasonic.com>2017-12-26 21:21:07 +0900
commitd501133086e8b39d0de898a6a4a60d97873ae6e7 (patch)
treeac447697e415964c5cb4ca3132db42862174c75d /src/app.cpp
parent4bd8c0c0ad298c9da8b3803c121001d04e39f707 (diff)
Enable an application re-launch
When an application dies after requestSurface, the application can't be launched because Window Manager doesn't know the application is dead and doesn't clean up its database. In other case, when Mixer app dies due to pulse audio crash just before Window Manager handles surface memory, the connection between weston and Window Manager is dead. So add following * Add context setting with window manager clients. Terminate the context and clean up WM database if a client application is dead. * Add layout_commit() after add surfaces to layer. [PatchSet 2] * Add layout_commit() after add surfaces to layer in api_request_surface Bug-AGL: SPEC-1086 Change-Id: I6ecae2606ac644e49a3383ba849390f8c235f187 Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
Diffstat (limited to 'src/app.cpp')
-rw-r--r--src/app.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/app.cpp b/src/app.cpp
index 74a114d..337b0ac 100644
--- a/src/app.cpp
+++ b/src/app.cpp
@@ -629,7 +629,7 @@ void App::surface_created(uint32_t surface_id) {
this->controller->layers[*layer_id]->add_surface(
this->controller->surfaces[surface_id].get());
-
+ this->layout_commit();
// activate the main_surface right away
/*if (surface_id == static_cast<unsigned>(this->layers.main_surface)) {
HMI_DEBUG("wm", "Activating main_surface (%d)", surface_id);
@@ -736,6 +736,7 @@ char const *App::api_request_surface(char const *drawing_name,
this->controller->layers[*lid]->add_surface(
this->controller->surfaces[sid].get());
+ this->layout_commit();
return nullptr;
}