diff options
Diffstat (limited to 'src/app.cpp')
-rw-r--r-- | src/app.cpp | 31 |
1 files changed, 8 insertions, 23 deletions
diff --git a/src/app.cpp b/src/app.cpp index 336a986..00f391a 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -134,6 +134,11 @@ void App::timerHandler() } } +void App::removeClient(const std::string &appid){ + HMI_DEBUG("wm", "Remove clinet %s from list", appid.c_str()); + app_list.removeClient(appid); +} + /** * App Impl */ @@ -1097,28 +1102,7 @@ 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) - { - std::string appid = ""; - /* auto = lookUpClient(surface_id); - appid = client->appID(); - - */ - this->api_deactivate_surface(appid.c_str(), drawing_name->c_str(), [](const char *) {}); - } - } - - this->id_alloc.remove_id(surface_id); - this->layers.remove_surface(surface_id); + app_list.removeSurface(surface_id); } void App::emit_activated(char const *label) @@ -1187,7 +1171,8 @@ result<int> App::api_request_surface(char const *appid, char const *drawing_name // add client into the db std::string appid_str(appid); std::string role(drawing_name); - app_list.addClient(appid_str, role); + //app_list.addClient(appid_str, role); + app_list.addClient(appid_str, *lid, id, role); return Ok<int>(id); } |