/* 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;
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;
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);
#include "dswayland-server-tizen-extension.h"
#include "DSWaylandTizenSurface.h"
+#include "DSWaylandSurface.h"
namespace display_server
{
private:
std::list<DSWaylandTizenResource *> __resourceList;
- uint32_t __resource_id_cnt; //TO DO : have to manage more proper class
};
}