DSWaylandSurface: add static __waylandSurfaceList list to manage waylandSurfaces 93/242793/1
authorJunkyeong Kim <jk0430.kim@samsung.com>
Fri, 28 Aug 2020 08:44:06 +0000 (17:44 +0900)
committerSung-Jin Park <sj76.park@samsung.com>
Tue, 1 Sep 2020 01:29:56 +0000 (10:29 +0900)
Change-Id: I18f694ad2534894f7817130ec77306371c4ca6c5
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
src/DSWaylandServer/DSWaylandSurface.cpp
src/DSWaylandServer/DSWaylandSurface.h

index d007595..7df93e1 100644 (file)
@@ -247,14 +247,20 @@ DS_WAYLAND_IMPL_FROM_RESOURCE(DSWaylandSurface);
 /* DSWaylandSurface */
 DSWaylandSurface::DSWaylandSurface()
     : DS_INIT_PRIVATE_PTR(DSWaylandSurface)
-{}
+{
+       __waylandSurfaceList.push_back(this);
+}
 
 DSWaylandSurface::DSWaylandSurface(DSWaylandClient *waylandClient, uint32_t id)
     : _d_ptr(std::make_unique<DSWaylandSurfacePrivate>(this, waylandClient, id))
-{}
+{
+       __waylandSurfaceList.push_back(this);
+}
 
 DSWaylandSurface::~DSWaylandSurface()
-{}
+{
+       __waylandSurfaceList.remove(this);
+}
 
 void DSWaylandSurface::registerCallbackSurfaceCommitted(DSObject *slot, std::function<void(std::shared_ptr<DSWaylandSurfaceCommitInfo> commitInfo)> func)
 {
index e715fc7..7275a4f 100644 (file)
@@ -75,6 +75,8 @@ private:
        DSSignal<std::shared_ptr<DSWaylandSurfaceCommitInfo>> __surfaceCommittedSignal;
 };
 
+static std::list<DSWaylandSurface *> __waylandSurfaceList;
+
 } /* namespace display_server */
 
 #endif /* _DS_WAYLAND_SURFACE_H_ */