diff --git a/src/protocols/core/Compositor.cpp b/src/protocols/core/Compositor.cpp index 57f0ff3f0..3cc04cda1 100644 --- a/src/protocols/core/Compositor.cpp +++ b/src/protocols/core/Compositor.cpp @@ -195,25 +195,25 @@ CWLSurfaceResource::CWLSurfaceResource(SP resource_) : resource(reso }); resource->setSetInputRegion([this](CWlSurface* r, wl_resource* region) { + pending.updated.input = true; + if (!region) { pending.input = CBox{{}, {INT32_MAX, INT32_MAX}}; return; } - pending.updated.input = true; - auto RG = CWLRegionResource::fromResource(region); pending.input = RG->region; }); resource->setSetOpaqueRegion([this](CWlSurface* r, wl_resource* region) { + pending.updated.opaque = true; + if (!region) { pending.opaque = CBox{{}, {}}; return; } - pending.updated.opaque = true; - auto RG = CWLRegionResource::fromResource(region); pending.opaque = RG->region; });