Backport multiple fixes for F31 FE/blocker bugs

MR #832 for #1749433 (also needs change in gnome-shell)
MR #840 for #1760254
MR #848 for #1751646 and #1759644
MR #842 for #1758873
This commit is contained in:
Adam Williamson
2019-10-12 08:52:31 -07:00
parent b117b73bfc
commit 751740e9bf
13 changed files with 1142 additions and 2 deletions

View File

@@ -0,0 +1,42 @@
From 227d27204983f7be20536d79d216f76f80f5cceb Mon Sep 17 00:00:00 2001
From: Carlos Garnacho <carlosg@gnome.org>
Date: Fri, 11 Oct 2019 17:47:00 +0200
Subject: [PATCH 5/8] wayland: Check resource before emitting cancelled event
If a data source is destroyed we first unset the resource, and then try to
unref the related selection source. At this point the only event that might
be emitted by the internal selection machinery is .cancelled, so make sure
we avoid it on destroyed sources.
Fixes: https://gitlab.gnome.org/GNOME/mutter/issues/842
---
src/wayland/meta-wayland-data-device.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/wayland/meta-wayland-data-device.c b/src/wayland/meta-wayland-data-device.c
index 24e97222a..3dfedd959 100644
--- a/src/wayland/meta-wayland-data-device.c
+++ b/src/wayland/meta-wayland-data-device.c
@@ -1369,7 +1369,8 @@ meta_wayland_source_cancel (MetaWaylandDataSource *source)
MetaWaylandDataSourceWayland *source_wayland =
META_WAYLAND_DATA_SOURCE_WAYLAND (source);
- wl_data_source_send_cancelled (source_wayland->resource);
+ if (source_wayland->resource)
+ wl_data_source_send_cancelled (source_wayland->resource);
}
static void
@@ -1464,7 +1465,8 @@ meta_wayland_data_source_primary_cancel (MetaWaylandDataSource *source)
MetaWaylandDataSourceWayland *source_wayland;
source_wayland = META_WAYLAND_DATA_SOURCE_WAYLAND (source);
- gtk_primary_selection_source_send_cancelled (source_wayland->resource);
+ if (source_wayland->resource)
+ gtk_primary_selection_source_send_cancelled (source_wayland->resource);
}
static void
--
2.23.0