constraints: Lock surface region when region is empty (#6627)

* Pointer constraints: Lock surface region when region is empty

* Format code
This commit is contained in:
MariuszTrybus 2024-06-22 17:05:05 +02:00 committed by GitHub
parent 4778afe2e6
commit 0b924f541c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 9 additions and 2 deletions

View File

@ -165,8 +165,15 @@ SP<CWLSurface> CPointerConstraint::owner() {
}
CRegion CPointerConstraint::logicConstraintRegion() {
CRegion rg = region;
const auto SURFBOX = pHLSurface->getSurfaceBoxGlobal();
CRegion rg = region;
const auto SURFBOX = pHLSurface->getSurfaceBoxGlobal();
// if region wasn't set in pointer-constraints request take surface region
if (rg.empty() && SURFBOX.has_value()) {
rg.set(SURFBOX.value());
return rg;
}
const auto CONSTRAINTPOS = SURFBOX.has_value() ? SURFBOX->pos() : Vector2D{};
rg.translate(CONSTRAINTPOS);
return rg;