From f7cc1c539d7097c867dfee1a5e44c42d39fad364 Mon Sep 17 00:00:00 2001 From: Trianta <56975502+Trimutex@users.noreply.github.com> Date: Wed, 26 Jun 2024 22:18:31 -0500 Subject: [PATCH 1/2] pointer-constraints: keep constraint alive until actual destruction --- src/protocols/PointerConstraints.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/protocols/PointerConstraints.cpp b/src/protocols/PointerConstraints.cpp index a17fa6cd..58525adc 100644 --- a/src/protocols/PointerConstraints.cpp +++ b/src/protocols/PointerConstraints.cpp @@ -112,6 +112,7 @@ void CPointerConstraint::deactivate() { active = false; + /* Requires additional lifetime implementations if (lifetime == ZWP_POINTER_CONSTRAINTS_V1_LIFETIME_ONESHOT) { dead = true; // remove from inputmgr @@ -120,6 +121,7 @@ void CPointerConstraint::deactivate() { return !SHP || SHP.get() == this; }); } + */ } void CPointerConstraint::activate() { From 0b1396558f19620c70b69a61124c4f627a66a843 Mon Sep 17 00:00:00 2001 From: Trianta <56975502+Trimutex@users.noreply.github.com> Date: Thu, 27 Jun 2024 20:16:13 -0500 Subject: [PATCH 2/2] pointer-constraint: default to persistent lifetime instead --- src/protocols/PointerConstraints.cpp | 2 -- src/protocols/PointerConstraints.hpp | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/protocols/PointerConstraints.cpp b/src/protocols/PointerConstraints.cpp index 58525adc..a17fa6cd 100644 --- a/src/protocols/PointerConstraints.cpp +++ b/src/protocols/PointerConstraints.cpp @@ -112,7 +112,6 @@ void CPointerConstraint::deactivate() { active = false; - /* Requires additional lifetime implementations if (lifetime == ZWP_POINTER_CONSTRAINTS_V1_LIFETIME_ONESHOT) { dead = true; // remove from inputmgr @@ -121,7 +120,6 @@ void CPointerConstraint::deactivate() { return !SHP || SHP.get() == this; }); } - */ } void CPointerConstraint::activate() { diff --git a/src/protocols/PointerConstraints.hpp b/src/protocols/PointerConstraints.hpp index faf28b32..b9ee2a64 100644 --- a/src/protocols/PointerConstraints.hpp +++ b/src/protocols/PointerConstraints.hpp @@ -46,7 +46,7 @@ class CPointerConstraint { bool active = false; bool locked = false; bool dead = false; - zwpPointerConstraintsV1Lifetime lifetime = ZWP_POINTER_CONSTRAINTS_V1_LIFETIME_ONESHOT; + zwpPointerConstraintsV1Lifetime lifetime = ZWP_POINTER_CONSTRAINTS_V1_LIFETIME_PERSISTENT; void sharedConstructions(); void onSetRegion(wl_resource* region); @@ -78,4 +78,4 @@ class CPointerConstraintsProtocol : public IWaylandProtocol { namespace PROTO { inline UP constraints; -}; \ No newline at end of file +};