Update to 3.24.13
This commit is contained in:
parent
3189369c9d
commit
e28e61ba86
1
.gitignore
vendored
1
.gitignore
vendored
@ -183,3 +183,4 @@ gtk+-2.90.5.tar.bz2
|
||||
/gtk+-3.24.10.tar.xz
|
||||
/gtk+-3.24.11.tar.xz
|
||||
/gtk+-3.24.12.tar.xz
|
||||
/gtk+-3.24.13.tar.xz
|
||||
|
112
1142.patch
112
1142.patch
@ -1,112 +0,0 @@
|
||||
From 299902b008c3b453596679f249eec28bfc6c026a Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Garnacho <carlosg@gnome.org>
|
||||
Date: Mon, 21 Oct 2019 20:19:06 +0200
|
||||
Subject: [PATCH 1/2] gdk: Shuffle the situations where a selection is unset
|
||||
|
||||
This should only be explicitly unset (face to the windowing) on
|
||||
gdk_selection_owner_set() with a NULL window. Other circumstances
|
||||
(eg. selection being taken over by another client) should just
|
||||
trigger the SelectionClear event in GDK internally.
|
||||
|
||||
Related: https://gitlab.gnome.org/GNOME/mutter/issues/878
|
||||
---
|
||||
gdk/wayland/gdkselection-wayland.c | 19 +++++++++----------
|
||||
1 file changed, 9 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/gdk/wayland/gdkselection-wayland.c b/gdk/wayland/gdkselection-wayland.c
|
||||
index cb799e53e0..9494489d69 100644
|
||||
--- a/gdk/wayland/gdkselection-wayland.c
|
||||
+++ b/gdk/wayland/gdkselection-wayland.c
|
||||
@@ -1140,10 +1140,6 @@ gdk_wayland_selection_unset_data_source (GdkDisplay *display,
|
||||
|
||||
if (selection == atoms[ATOM_CLIPBOARD])
|
||||
{
|
||||
- GdkSeat *seat = gdk_display_get_default_seat (display);
|
||||
-
|
||||
- gdk_wayland_seat_set_selection (seat, NULL);
|
||||
-
|
||||
if (wayland_selection->clipboard_source)
|
||||
{
|
||||
wl_data_source_destroy (wayland_selection->clipboard_source);
|
||||
@@ -1152,10 +1148,6 @@ gdk_wayland_selection_unset_data_source (GdkDisplay *display,
|
||||
}
|
||||
else if (selection == atoms[ATOM_PRIMARY])
|
||||
{
|
||||
- GdkSeat *seat = gdk_display_get_default_seat (display);
|
||||
-
|
||||
- gdk_wayland_seat_set_primary (seat, NULL);
|
||||
-
|
||||
if (wayland_selection->primary_source)
|
||||
{
|
||||
gtk_primary_selection_source_destroy (wayland_selection->primary_source);
|
||||
@@ -1192,19 +1184,26 @@ _gdk_wayland_display_set_selection_owner (GdkDisplay *display,
|
||||
gboolean send_event)
|
||||
{
|
||||
GdkWaylandSelection *wayland_selection = gdk_wayland_display_get_selection (display);
|
||||
+ GdkSeat *seat = gdk_display_get_default_seat (display);
|
||||
|
||||
if (selection == atoms[ATOM_CLIPBOARD])
|
||||
{
|
||||
wayland_selection->clipboard_owner = owner;
|
||||
if (send_event && !owner)
|
||||
- gdk_wayland_selection_unset_data_source (display, selection);
|
||||
+ {
|
||||
+ gdk_wayland_seat_set_selection (seat, NULL);
|
||||
+ gdk_wayland_selection_unset_data_source (display, selection);
|
||||
+ }
|
||||
return TRUE;
|
||||
}
|
||||
else if (selection == atoms[ATOM_PRIMARY])
|
||||
{
|
||||
wayland_selection->primary_owner = owner;
|
||||
if (send_event && !owner)
|
||||
- gdk_wayland_selection_unset_data_source (display, selection);
|
||||
+ {
|
||||
+ gdk_wayland_seat_set_primary (seat, NULL);
|
||||
+ gdk_wayland_selection_unset_data_source (display, selection);
|
||||
+ }
|
||||
return TRUE;
|
||||
}
|
||||
else if (selection == atoms[ATOM_DND])
|
||||
--
|
||||
2.22.0
|
||||
|
||||
|
||||
From 7a891eeb6def29f6562a3833c272b0cb2a67ae23 Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Garnacho <carlosg@gnome.org>
|
||||
Date: Mon, 21 Oct 2019 20:27:12 +0200
|
||||
Subject: [PATCH 2/2] gdk: Do not call gdk_selection_owner_set() internally to
|
||||
the backend
|
||||
|
||||
This should just be called by the upper layers (and result in
|
||||
wl_data_device.set_selection, etc). We should not trigger this within
|
||||
the backend otherwise.
|
||||
|
||||
Related: https://gitlab.gnome.org/GNOME/mutter/issues/878
|
||||
---
|
||||
gdk/wayland/gdkselection-wayland.c | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/gdk/wayland/gdkselection-wayland.c b/gdk/wayland/gdkselection-wayland.c
|
||||
index 9494489d69..e14f50de8d 100644
|
||||
--- a/gdk/wayland/gdkselection-wayland.c
|
||||
+++ b/gdk/wayland/gdkselection-wayland.c
|
||||
@@ -937,7 +937,6 @@ 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);
|
||||
}
|
||||
|
||||
@@ -1048,7 +1047,6 @@ 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
|
||||
|
76
1146.patch
76
1146.patch
@ -1,76 +0,0 @@
|
||||
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
|
||||
|
16
gtk3.spec
16
gtk3.spec
@ -24,22 +24,13 @@
|
||||
%global __provides_exclude_from ^%{_libdir}/gtk-3.0
|
||||
|
||||
Name: gtk3
|
||||
Version: 3.24.12
|
||||
Release: 3%{?dist}
|
||||
Version: 3.24.13
|
||||
Release: 1%{?dist}
|
||||
Summary: GTK+ graphical user interface library
|
||||
|
||||
License: LGPLv2+
|
||||
URL: http://www.gtk.org
|
||||
Source0: http://download.gnome.org/sources/gtk+/3.24/gtk+-%{version}.tar.xz
|
||||
# https://gitlab.gnome.org/GNOME/gtk/merge_requests/1142
|
||||
# Try to prevent copy/cut not working properly:
|
||||
# https://gitlab.gnome.org/GNOME/mutter/issues/878
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1763875
|
||||
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-bridge-2.0)
|
||||
@ -334,6 +325,9 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || :
|
||||
%{_datadir}/installed-tests/
|
||||
|
||||
%changelog
|
||||
* Wed Nov 27 2019 Kalev Lember <klember@redhat.com> - 3.24.13-1
|
||||
- Update to 3.24.13
|
||||
|
||||
* Tue Oct 22 2019 Adam Williamson <awilliam@redhat.com> - 3.24.12-3
|
||||
- Backport PR #1146 to fix a bug that #1142 introduced...
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (gtk+-3.24.12.tar.xz) = 97554657d83db71ff8b3ea5f650ad38b1ffcc3e8d620be876b5ca435f693e229dffc7341a84bde71bdae13293f2c1d3b2ab1b80a02791132c8a7693cdc21f612
|
||||
SHA512 (gtk+-3.24.13.tar.xz) = 9129d4574cca258b4a517d8d65dad246a746fc3dc574b78e098db9aa9743956ce227efbf963f63e1e0f1a1a09810716150526b2bfe8015a5960bad38b0c88406
|
||||
|
Loading…
Reference in New Issue
Block a user