Update to 3.22.28

This commit is contained in:
Kalev Lember 2018-03-02 23:32:19 +01:00
parent 2caa27d9da
commit 312d2e1cf8
4 changed files with 7 additions and 83 deletions

1
.gitignore vendored
View File

@ -167,3 +167,4 @@ gtk+-2.90.5.tar.bz2
/gtk+-3.22.24.tar.xz
/gtk+-3.22.25.tar.xz
/gtk+-3.22.26.tar.xz
/gtk+-3.22.28.tar.xz

View File

@ -1,76 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Christophe Fergeau <cfergeau@redhat.com>
Date: Tue, 28 Nov 2017 17:44:06 +0100
Subject: [PATCH] wayland: emit GDK_SELECTION_CLEAR on owner changes
The wayland backend currently never emits GDK_SELECTION_CLEAR events.
GtkClipboard uses this signal in order to clear the clipboard owner when
the selection is set to something outside the application.
This commit ensures the wayland backend emits GDK_SELECTION_CLEAR before
setting the clipboard owner to NULL, as this means we lost the
selection.
Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
https://bugzilla.gnome.org/show_bug.cgi?id=790031
---
gdk/wayland/gdkselection-wayland.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/gdk/wayland/gdkselection-wayland.c b/gdk/wayland/gdkselection-wayland.c
index 0012febd9e..008778292a 100644
--- a/gdk/wayland/gdkselection-wayland.c
+++ b/gdk/wayland/gdkselection-wayland.c
@@ -113,6 +113,7 @@ struct _GdkWaylandSelection
static void selection_buffer_read (SelectionBuffer *buffer);
static void async_write_data_write (AsyncWriteData *write_data);
+static void emit_selection_clear (GdkDisplay *display, GdkAtom selection);
static void
selection_buffer_notify (SelectionBuffer *buffer)
@@ -921,6 +922,7 @@ data_source_cancelled (void *data,
if (context)
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);
}
@@ -1031,6 +1033,7 @@ primary_source_cancelled (void *data,
display = gdk_display_get_default ();
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);
}
@@ -1272,6 +1275,28 @@ emit_empty_selection_notify (GdkWindow *requestor,
gdk_event_free (event);
}
+static void
+emit_selection_clear (GdkDisplay *display,
+ GdkAtom selection)
+{
+ GdkEvent *event;
+ GdkWindow *window;
+
+ event = gdk_event_new (GDK_SELECTION_CLEAR);
+ event->selection.selection = selection;
+ event->selection.time = GDK_CURRENT_TIME;
+
+ window = _gdk_wayland_display_get_selection_owner (display, selection);
+ if (window != NULL)
+ {
+ event->selection.window = g_object_ref (window);
+ event->selection.requestor = g_object_ref (window);
+ }
+
+ gdk_event_put (event);
+ gdk_event_free (event);
+}
+
void
_gdk_wayland_display_convert_selection (GdkDisplay *display,
GdkWindow *requestor,

View File

@ -21,17 +21,14 @@
%global __provides_exclude_from ^%{_libdir}/gtk-3.0
Name: gtk3
Version: 3.22.26
Release: 4%{?dist}
Version: 3.22.28
Release: 1%{?dist}
Summary: GTK+ graphical user interface library
License: LGPLv2+
URL: http://www.gtk.org
Source0: http://download.gnome.org/sources/gtk+/3.22/gtk+-%{version}.tar.xz
# https://bugzilla.gnome.org/show_bug.cgi?id=790031
Patch0: gtk3-wayland-emit-GDK_SELECTION_CLEAR-on-owner-changes.patch
BuildRequires: pkgconfig(atk) >= %{atk_version}
BuildRequires: pkgconfig(atk-bridge-2.0)
BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version}
@ -170,7 +167,6 @@ the functionality of the installed %{name} package.
%prep
%setup -q -n gtk+-%{version}
%patch0 -p1
%build
export CFLAGS='-fno-strict-aliasing %optflags'
@ -331,6 +327,9 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || :
%{_datadir}/installed-tests
%changelog
* Fri Mar 02 2018 Kalev Lember <klember@redhat.com> - 3.22.28-1
- Update to 3.22.28
* Sun Feb 11 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.22.26-4
- Drop direct gtk-update-icon-cache calls
- Drop ldconfig scriptlets

View File

@ -1 +1 @@
SHA512 (gtk+-3.22.26.tar.xz) = 2fd3a4175168d37f243359bac5df84722a2830fe5b62f86b914ce39ff500f0361e412843922343dffef8bee8f1205799ff86dd3ae8ac419928f4fe977e0e946f
SHA512 (gtk+-3.22.28.tar.xz) = d46d74f4cc99ad611ed37816b1357717a75731882c5aa9effcbdc0ab96a3cd5aee84d801f1027b773daa476517fab021887c179ed9cb35bebbcb652e8d56636d