aboutsummaryrefslogtreecommitdiffstats
path: root/src/app.cpp
diff options
context:
space:
mode:
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-06-25 09:49:55 +0900
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-06-25 19:59:06 +0900
commit2a352777521301937b0d1d4cdcf0e24a1aa2d84e (patch)
tree1d87fd0eaf44b9d4c24c9aee9d422d94a87e8901 /src/app.cpp
parent714b578b8961b218841160e06df976863a2010d8 (diff)
Bug Fix: Window Manager doesn't react after killing app process
After killing an application which has surfaces, Window Manager releases the information for app. Then, invalid access happens. As a result, Application seems to loose their ability to display. This is a potencial bug caused by upgrades of wayland-ivi-extension, so this problem didn't occur in eel branch. This patch fixes the bug. Bug-AGL: SPEC-1421 Change-Id: If921dd4ea6bd46454356e97e1be7e5c136c7383b Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
Diffstat (limited to 'src/app.cpp')
-rw-r--r--src/app.cpp31
1 files changed, 0 insertions, 31 deletions
diff --git a/src/app.cpp b/src/app.cpp
index f83e3e7..f09f6f5 100644
--- a/src/app.cpp
+++ b/src/app.cpp
@@ -731,36 +731,11 @@ void App::surface_created(uint32_t surface_id)
this->controller->layers[*layer_id]->add_surface(surface_id);
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);
-
- this->api_activate_surface(
- this->lookup_name(surface_id).value_or("unknown-name").c_str());
- }*/
}
void App::surface_removed(uint32_t surface_id)
{
HMI_DEBUG("wm", "surface_id is %u", surface_id);
-
- // We cannot normally deactivate the main_surface, so be explicit
- // about it:
- if (int(surface_id) == this->layers.main_surface)
- {
- this->deactivate_main_surface();
- }
- else
- {
- auto drawing_name = this->lookup_name(surface_id);
- if (drawing_name)
- {
- this->api_deactivate_surface(drawing_name->c_str(), [](const char *) {});
- }
- }
-
- this->id_alloc.remove_id(surface_id);
- this->layers.remove_surface(surface_id);
}
void App::emit_activated(char const *label)
@@ -1025,12 +1000,6 @@ void App::deactivate(int id)
}
}
-void App::deactivate_main_surface()
-{
- this->layers.main_surface = -1;
- this->api_deactivate_surface(this->layers.main_surface_name.c_str(), [](const char *) {});
-}
-
bool App::can_split(struct LayoutState const &state, int new_id)
{
if (state.main != -1 && state.main != new_id)