From: Junkyeong Kim Date: Fri, 28 Aug 2020 08:45:34 +0000 (+0900) Subject: DSWaylandTizenSurface: get resource id from DSWaylandSurface's __tizenResourceId X-Git-Tag: accepted/tizen/unified/20200901.160655~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f4fce9d036d5f4de0b2ffa40faf44d2b026e6365;p=platform%2Fcore%2Fuifw%2Flibds.git DSWaylandTizenSurface: get resource id from DSWaylandSurface's __tizenResourceId Change-Id: I97c6abf78454edf48ee2e0f69e7e0e8ce7fb94b5 Signed-off-by: Junkyeong Kim --- diff --git a/src/DSWaylandServer/DSWaylandTizenSurface.cpp b/src/DSWaylandServer/DSWaylandTizenSurface.cpp index 0a693cb..a698b2a 100644 --- a/src/DSWaylandServer/DSWaylandTizenSurface.cpp +++ b/src/DSWaylandServer/DSWaylandTizenSurface.cpp @@ -30,8 +30,7 @@ namespace display_server /* DSWaylandTizenSurface */ DSWaylandTizenSurfacePrivate::DSWaylandTizenSurfacePrivate(DSWaylandTizenSurface *p_ptr, DSWaylandCompositor *compositor) : DSObjectPrivate(p_ptr), - __p_ptr(p_ptr), - __resource_id_cnt(0) + __p_ptr(p_ptr) { if (!compositor) return; @@ -54,6 +53,8 @@ void DSWaylandTizenSurfacePrivate::tizen_surface_destroy_resource(Resource *reso void DSWaylandTizenSurfacePrivate::tizen_surface_get_tizen_resource(Resource *resource, uint32_t id, struct ::wl_resource *surface) { DSWaylandTizenResource *tizenResource = nullptr; + DSWaylandSurface *waylandSurface = nullptr; + uint32_t tizenResourceId = 0; for (DSWaylandTizenResource *temp : __resourceList) if (temp->getResourceSurface() == surface) return; @@ -65,8 +66,27 @@ void DSWaylandTizenSurfacePrivate::tizen_surface_get_tizen_resource(Resource *re return; } - __resource_id_cnt++; - tizenResource->setResourceId(__resource_id_cnt); + for (DSWaylandSurface *temp : __waylandSurfaceList) + { + if (temp->hasResource()) + { + if (temp->getWlResource() == surface) + { + waylandSurface = temp; + break; + } + } + } + + if (waylandSurface) + { + tizenResourceId = waylandSurface->getTizenResourceId(); + tizenResource->setResourceId(tizenResourceId); + } + else + { + DSLOG_ERR("DSWaylandTizenSurface", "fail get tizen resource id"); + } __resourceList.push_back(tizenResource); diff --git a/src/DSWaylandServer/DSWaylandTizenSurfacePrivate.h b/src/DSWaylandServer/DSWaylandTizenSurfacePrivate.h index 27ea899..e2e634d 100644 --- a/src/DSWaylandServer/DSWaylandTizenSurfacePrivate.h +++ b/src/DSWaylandServer/DSWaylandTizenSurfacePrivate.h @@ -26,6 +26,7 @@ #include "dswayland-server-tizen-extension.h" #include "DSWaylandTizenSurface.h" +#include "DSWaylandSurface.h" namespace display_server { @@ -73,7 +74,6 @@ protected: private: std::list __resourceList; - uint32_t __resource_id_cnt; //TO DO : have to manage more proper class }; }