Register surface in set role
[apps/agl-service-windowmanager.git] / src / app.cpp
index 897dee7..5913143 100644 (file)
@@ -1373,6 +1373,17 @@ bool App::api_set_role(char const *appid, char const *drawing_name, unsigned pid
                  id.c_str(), surface, *lid, role.c_str());
         app_list->addClient(id, *lid, surface, role);
     }
+
+    // register pair drawing_name and ivi_id
+    this->id_alloc.register_name_id(role.c_str(), surface);
+    this->layers.add_surface(surface, *lid);
+
+    // this surface is already created
+    HMI_DEBUG("wm", "surface_id is %u, layer_id is %u", surface, *lid);
+
+    this->controller->layers[*lid]->add_surface(surface);
+    this->layout_commit();
+
     return ret;
 }