diff options
| author | Vaxry <vaxry@vaxry.net> | 2024-06-08 12:03:47 +0200 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2024-06-08 12:03:47 +0200 |
| commit | 211353dc34b8f0fa17fc1e4d1d5f04d6fe1910e5 (patch) | |
| tree | d0665d48481c62450c0c97da3bfaea95670885f4 /src/protocols/core/Subcompositor.cpp | |
| parent | 10e02076b183f508ef72198366d53902fe0d9098 (diff) | |
core: verify surface roles on creation of objects
Diffstat (limited to 'src/protocols/core/Subcompositor.cpp')
| -rw-r--r-- | src/protocols/core/Subcompositor.cpp | 5 |
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) { |
