wayland/surface: fixup self-owning surface roles

fixes #7133
This commit is contained in:
Vaxry
2024-08-03 17:58:06 +02:00
parent 9f5a57ff45
commit ae50f8614d
7 changed files with 61 additions and 31 deletions

View File

@@ -141,15 +141,24 @@ class CXDGToplevelResource {
void applyState();
};
class CXDGSurfaceResource : public ISurfaceRole {
class CXDGSurfaceRole : public ISurfaceRole {
public:
CXDGSurfaceRole(SP<CXDGSurfaceResource> xdg);
virtual eSurfaceRole role() {
return SURFACE_ROLE_XDG_SHELL;
}
WP<CXDGSurfaceResource> xdgSurface;
};
class CXDGSurfaceResource {
public:
CXDGSurfaceResource(SP<CXdgSurface> resource_, SP<CXDGWMBase> owner_, SP<CWLSurfaceResource> surface_);
~CXDGSurfaceResource();
static SP<CXDGSurfaceResource> fromResource(wl_resource*);
virtual eSurfaceRole role();
bool good();
WP<CXDGWMBase> owner;