Add callback function when surface dead
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>
Sat, 8 Sep 2018 11:59:51 +0000 (20:59 +0900)
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>
Sat, 8 Sep 2018 11:59:51 +0000 (20:59 +0900)
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
src/window_manager.cpp
src/wm_layer_control.cpp
src/wm_layer_control.hpp

index acf3b76..6818438 100644 (file)
@@ -172,6 +172,9 @@ int WindowManager::init()
     lmcb.surfaceCreated = [&](unsigned pid, unsigned surface){
         this->surface_created(surface);
         };
+    lmcb.surfaceDestroyed = [&](unsigned surface){
+        this->surface_removed(surface);
+    };
     this->lc->init(lmcb);
     this->loadOldRoleDb();
 
index 4519922..813e4ab 100644 (file)
@@ -408,7 +408,7 @@ void LayerControl::dispatchCreateEvent(ilmObjectType object, unsigned id, bool c
         }
         else
         {
-            // this->cb->surfaceDestroyed(id);
+            this->cb.surfaceDestroyed(id);
         }
     }
     if (ILM_LAYER == object)
index 503ec3b..f637d8d 100644 (file)
@@ -45,6 +45,7 @@ class LayerControlCallbacks {
 
     // callback functions
     std::function<void(unsigned, unsigned)> surfaceCreated;
+    std::function<void(unsigned)> surfaceDestroyed;
     /* std::function<void(unsigned)> surfaceDestroyed;
     std::function<void(unsigned)> layerCreated;
     std::function<void(unsigned)> layerDestroyed; */