Remove floating surfaces when activate surface
[apps/agl-service-windowmanager.git] / src / applist.cpp
index 5d7dce4..b5c1681 100644 (file)
@@ -124,6 +124,19 @@ void AppList::addFloatingSurface(unsigned surface, unsigned pid)
     this->floating_surfaces.push_back(fsurface);
 }
 
+void AppList::removeFloatingSurface(unsigned surface)
+{
+    for (auto itr = this->floating_surfaces.begin(); itr != this->floating_surfaces.end(); ++itr)
+    {
+        if (surface == itr->surface_id)
+        {
+            HMI_DEBUG("wm", "Erase surface %d", itr->surface_id);
+            itr = this->floating_surfaces.erase(itr);
+            break;
+        }
+    }
+}
+
 WMError AppList::appendRole(const std::string &id, const std::string &role, unsigned surface)
 {
     WMError wm_err = WMError::NO_ENTRY;