Backport PR #1146 to fix a bug that #1142 introduced

This commit is contained in:
Adam Williamson 2019-10-22 11:56:24 -07:00
parent 9c20882d3b
commit 3189369c9d
2 changed files with 84 additions and 1 deletions

76
1146.patch Normal file
View File

@ -0,0 +1,76 @@
From ba0a0ce0a0e85d57b3ec2010189b4c8c484c2c9f Mon Sep 17 00:00:00 2001
From: Carlos Garnacho <carlosg@gnome.org>
Date: Tue, 22 Oct 2019 18:36:44 +0200
Subject: [PATCH 1/2] Revert "gdk: Do not call gdk_selection_owner_set()
internally to the backend"
This reverts commit 7a891eeb6def29f6562a3833c272b0cb2a67ae23.
---
gdk/wayland/gdkselection-wayland.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gdk/wayland/gdkselection-wayland.c b/gdk/wayland/gdkselection-wayland.c
index e14f50de8d..9494489d69 100644
--- a/gdk/wayland/gdkselection-wayland.c
+++ b/gdk/wayland/gdkselection-wayland.c
@@ -937,6 +937,7 @@ data_source_cancelled (void *data,
gdk_drag_context_cancel (context, GDK_DRAG_CANCEL_ERROR);
emit_selection_clear (display, atom);
+ gdk_selection_owner_set (NULL, atom, GDK_CURRENT_TIME, TRUE);
gdk_wayland_selection_unset_data_source (display, atom);
}
@@ -1047,6 +1048,7 @@ primary_source_cancelled (void *data,
atom = atoms[ATOM_PRIMARY];
emit_selection_clear (display, atom);
+ gdk_selection_owner_set (NULL, atom, GDK_CURRENT_TIME, TRUE);
gdk_wayland_selection_unset_data_source (display, atom);
}
--
2.22.0
From ff41436b594e04e106c0cd3859080ac80e6e6722 Mon Sep 17 00:00:00 2001
From: Carlos Garnacho <carlosg@gnome.org>
Date: Tue, 22 Oct 2019 18:39:30 +0200
Subject: [PATCH 2/2] gdk: Do not change the windowing selection when
cancelling source
We are interested in changing the owner window, so the upper bits know
that it is not this client who owns the selection. We are still not
interested in unsetting the selection desktop-wide though, so only avoid
emitting the relevant events then.
The same reasonings than in commit 7a891eeb6def apply otherwise.
---
gdk/wayland/gdkselection-wayland.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gdk/wayland/gdkselection-wayland.c b/gdk/wayland/gdkselection-wayland.c
index 9494489d69..a1925edd35 100644
--- a/gdk/wayland/gdkselection-wayland.c
+++ b/gdk/wayland/gdkselection-wayland.c
@@ -937,7 +937,7 @@ data_source_cancelled (void *data,
gdk_drag_context_cancel (context, GDK_DRAG_CANCEL_ERROR);
emit_selection_clear (display, atom);
- gdk_selection_owner_set (NULL, atom, GDK_CURRENT_TIME, TRUE);
+ gdk_selection_owner_set (NULL, atom, GDK_CURRENT_TIME, FALSE);
gdk_wayland_selection_unset_data_source (display, atom);
}
@@ -1048,7 +1048,7 @@ primary_source_cancelled (void *data,
atom = atoms[ATOM_PRIMARY];
emit_selection_clear (display, atom);
- gdk_selection_owner_set (NULL, atom, GDK_CURRENT_TIME, TRUE);
+ gdk_selection_owner_set (NULL, atom, GDK_CURRENT_TIME, FALSE);
gdk_wayland_selection_unset_data_source (display, atom);
}
--
2.22.0

View File

@ -25,7 +25,7 @@
Name: gtk3 Name: gtk3
Version: 3.24.12 Version: 3.24.12
Release: 2%{?dist} Release: 3%{?dist}
Summary: GTK+ graphical user interface library Summary: GTK+ graphical user interface library
License: LGPLv2+ License: LGPLv2+
@ -36,6 +36,10 @@ Source0: http://download.gnome.org/sources/gtk+/3.24/gtk+-%{version}.tar.xz
# https://gitlab.gnome.org/GNOME/mutter/issues/878 # https://gitlab.gnome.org/GNOME/mutter/issues/878
# https://bugzilla.redhat.com/show_bug.cgi?id=1763875 # https://bugzilla.redhat.com/show_bug.cgi?id=1763875
Patch0: 1142.patch Patch0: 1142.patch
# https://gitlab.gnome.org/GNOME/gtk/merge_requests/1146
# Fixes a new bug that the previous patch (1142) introduced
# https://gitlab.gnome.org/GNOME/mutter/issues/878#note_630326
Patch1: 1146.patch
BuildRequires: pkgconfig(atk) >= %{atk_version} BuildRequires: pkgconfig(atk) >= %{atk_version}
BuildRequires: pkgconfig(atk-bridge-2.0) BuildRequires: pkgconfig(atk-bridge-2.0)
@ -330,6 +334,9 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || :
%{_datadir}/installed-tests/ %{_datadir}/installed-tests/
%changelog %changelog
* Tue Oct 22 2019 Adam Williamson <awilliam@redhat.com> - 3.24.12-3
- Backport PR #1146 to fix a bug that #1142 introduced...
* Mon Oct 21 2019 Adam Williamson <awilliam@redhat.com> - 3.24.12-2 * Mon Oct 21 2019 Adam Williamson <awilliam@redhat.com> - 3.24.12-2
- Backport PR #1142 to try and fix intermittent copy/cut failures - Backport PR #1142 to try and fix intermittent copy/cut failures