summaryrefslogtreecommitdiff
path: root/src/protocols/XDGShell.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/protocols/XDGShell.cpp')
-rw-r--r--src/protocols/XDGShell.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/protocols/XDGShell.cpp b/src/protocols/XDGShell.cpp
index 5e82b530..4aa5d373 100644
--- a/src/protocols/XDGShell.cpp
+++ b/src/protocols/XDGShell.cpp
@@ -443,10 +443,6 @@ CXDGSurfaceResource::~CXDGSurfaceResource() {
surface->resetRole();
}
-eSurfaceRole CXDGSurfaceResource::role() {
- return SURFACE_ROLE_XDG_SHELL;
-}
-
bool CXDGSurfaceResource::good() {
return resource->resource();
}
@@ -668,7 +664,7 @@ CXDGWMBase::CXDGWMBase(SP<CXdgWmBase> resource_) : resource(resource_) {
RESOURCE->self = RESOURCE;
RESOURCE->surface = SURF;
- SURF->role = RESOURCE;
+ SURF->role = makeShared<CXDGSurfaceRole>(RESOURCE);
surfaces.emplace_back(RESOURCE);
@@ -765,3 +761,7 @@ void CXDGShellProtocol::onPopupDestroy(WP<CXDGPopupResource> popup) {
if (popup->surface)
grab->remove(popup->surface->surface.lock());
}
+
+CXDGSurfaceRole::CXDGSurfaceRole(SP<CXDGSurfaceResource> xdg) : xdgSurface(xdg) {
+ ;
+}