Updated patches

This commit is contained in:
Gerben Jan Dijkman 2023-01-10 16:43:52 +01:00
parent cc4bf6e7ec
commit 7fe46ddd30
4 changed files with 85 additions and 5 deletions

View File

@ -1,5 +1,18 @@
From 13fcdba75cf5f21cfd49c1a05f4fa62f77619b40 Mon Sep 17 00:00:00 2001
From: Sebastian Krzyszkowiak <dos@dosowisko.net>
Date: Sat, 5 Mar 2022 08:00:39 +0100
Subject: [PATCH] wlr_output_layout_contains_point: handle outputs that aren't
in the layout
Instead of crashing, return `false` when the specified output isn't part
of the layout, as we can be sure that it doesn't contain the specified
point.
---
types/wlr_output_layout.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/types/wlr_output_layout.c b/types/wlr_output_layout.c
index 28d91e8d42cfb75b9ca151be451e5ba287f33ca0..ef6e2850ca0e81d12b1cac9d1bc059b0f1f93694 100644
index 28d91e8d4..ef6e2850c 100644
--- a/types/wlr_output_layout.c
+++ b/types/wlr_output_layout.c
@@ -231,6 +231,9 @@ bool wlr_output_layout_contains_point(struct wlr_output_layout *layout,
@ -12,3 +25,6 @@ index 28d91e8d42cfb75b9ca151be451e5ba287f33ca0..ef6e2850ca0e81d12b1cac9d1bc059b0
struct wlr_box output_box;
output_layout_output_get_box(l_output, &output_box);
return wlr_box_contains_point(&output_box, lx, ly);
--
GitLab

View File

@ -1,5 +1,25 @@
From 17b2b06633729f1826715c1d0b84614aa3cedb3a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
Date: Mon, 28 Feb 2022 13:49:32 +0100
Subject: [PATCH] seat: Allow to cancel touches
After cancelation we destroy the touch points associated with this
surface as the Wayland spec says:
No further events are sent to the clients from that particular gesture.
Touch cancellation applies to all touch points currently active on this
client's surface. The client is responsible for finalizing the touch
points, future touch points on this surface may re-use the touch point
ID.
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/2999
---
include/wlr/types/wlr_seat.h | 21 ++++++++++++++++--
types/seat/wlr_seat_touch.c | 42 ++++++++++++++++++++++++++++++++++++
2 files changed, 61 insertions(+), 2 deletions(-)
diff --git a/include/wlr/types/wlr_seat.h b/include/wlr/types/wlr_seat.h
index ebbcfd479e2c8bec747f2ef37ca344eb8cb48645..1946873ae846dcb1b26596fa61962b08b1e57228 100644
index ebbcfd479..1946873ae 100644
--- a/include/wlr/types/wlr_seat.h
+++ b/include/wlr/types/wlr_seat.h
@@ -119,9 +119,11 @@ struct wlr_touch_grab_interface {
@ -46,7 +66,7 @@ index ebbcfd479e2c8bec747f2ef37ca344eb8cb48645..1946873ae846dcb1b26596fa61962b08
/**
diff --git a/types/seat/wlr_seat_touch.c b/types/seat/wlr_seat_touch.c
index 65a8c7c06c1d9ec35c68e0cb8e7b46ca3039fb3c..abc17ae2ce7a04bb1d533c794a754f30eb681375 100644
index 65a8c7c06..abc17ae2c 100644
--- a/types/seat/wlr_seat_touch.c
+++ b/types/seat/wlr_seat_touch.c
@@ -41,6 +41,11 @@ static void default_touch_cancel(struct wlr_seat_touch_grab *grab) {
@ -119,3 +139,6 @@ index 65a8c7c06c1d9ec35c68e0cb8e7b46ca3039fb3c..abc17ae2ce7a04bb1d533c794a754f30
int wlr_seat_touch_num_points(struct wlr_seat *seat) {
return wl_list_length(&seat->touch_state.touch_points);
}
--
GitLab

View File

@ -1,5 +1,20 @@
From 8dec751a6d84335fb04288b8efab6dd5c90288d3 Mon Sep 17 00:00:00 2001
From: Isaac Freund <ifreund@ifreund.xyz>
Date: Fri, 9 Oct 2020 15:28:07 +0200
Subject: [PATCH] layer-shell: error on 0 dimension without anchors
The protocol requires clients to set opposing anchors when requesting
a width or height of 0.
The goal of this patch is not to break clients that rely on this
behavior but to improve the consistency of the layer shell ecosystem
through adherence to the protocol.
---
types/wlr_layer_shell_v1.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/types/wlr_layer_shell_v1.c b/types/wlr_layer_shell_v1.c
index d83b22b8660273e13178c9d1899fd33c33d2a8d5..bc68111797552f06337eccd612c6230cfdac5f99 100644
index d83b22b86..bc6811179 100644
--- a/types/wlr_layer_shell_v1.c
+++ b/types/wlr_layer_shell_v1.c
@@ -307,6 +307,26 @@ static void layer_surface_role_commit(struct wlr_surface *wlr_surface) {
@ -29,3 +44,6 @@ index d83b22b8660273e13178c9d1899fd33c33d2a8d5..bc68111797552f06337eccd612c6230c
if (surface->closed) {
// Ignore commits after the compositor has closed it
return;
--
GitLab

View File

@ -1,5 +1,25 @@
From dd03d839ab56c3e5d7c607a8d76e58e0b75edb85 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx@sigxcpu.org>
Date: Fri, 25 Mar 2022 18:48:58 +0100
Subject: [PATCH] xdg-activation: Deduplicate token creation code
There were three places initializing a token:
- wlr_xdg_activation_v1_add_token
- wlr_xdg_activation_token_v1_create
- activation_handle_get_activation_token
The initialization of the token.destroy was missing in the first one. To
prevent these functions from getting out of sync move the token creation
into a common function.
Fixes 4c59f7d4 ("xdg-activation: Allow to submit tokens")
---
types/wlr_xdg_activation_v1.c | 42 +++++++++++++++++------------------
1 file changed, 20 insertions(+), 22 deletions(-)
diff --git a/types/wlr_xdg_activation_v1.c b/types/wlr_xdg_activation_v1.c
index 02ba9e07f2b60857a3cdc1848f149c2d476161f7..c54364cccae258daea400724d4822bdb72f97fb5 100644
index 02ba9e07f..c54364ccc 100644
--- a/types/wlr_xdg_activation_v1.c
+++ b/types/wlr_xdg_activation_v1.c
@@ -248,15 +248,11 @@ static void activation_handle_destroy(struct wl_client *client,
@ -81,3 +101,6 @@ index 02ba9e07f2b60857a3cdc1848f149c2d476161f7..c54364cccae258daea400724d4822bdb
token->token = strdup(token_str);
wl_list_insert(&activation->tokens, &token->link);
--
GitLab