summaryrefslogtreecommitdiff
path: root/src/protocols/core/Subcompositor.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2024-06-08 12:03:47 +0200
committerVaxry <vaxry@vaxry.net>2024-06-08 12:03:47 +0200
commit211353dc34b8f0fa17fc1e4d1d5f04d6fe1910e5 (patch)
treed0665d48481c62450c0c97da3bfaea95670885f4 /src/protocols/core/Subcompositor.cpp
parent10e02076b183f508ef72198366d53902fe0d9098 (diff)
core: verify surface roles on creation of objects
Diffstat (limited to 'src/protocols/core/Subcompositor.cpp')
-rw-r--r--src/protocols/core/Subcompositor.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/protocols/core/Subcompositor.cpp b/src/protocols/core/Subcompositor.cpp
index 213fdc42..d407636c 100644
--- a/src/protocols/core/Subcompositor.cpp
+++ b/src/protocols/core/Subcompositor.cpp
@@ -133,6 +133,11 @@ CWLSubcompositorResource::CWLSubcompositorResource(SP<CWlSubcompositor> resource
return;
}
+ if (SURF->role->role() != SURFACE_ROLE_UNASSIGNED) {
+ r->error(-1, "Surface already has a different role");
+ return;
+ }
+
SP<CWLSurfaceResource> t1Parent = nullptr;
if (PARENT->role->role() == SURFACE_ROLE_SUBSURFACE) {