diff --git a/0001-Add-a-gtk-overlay-scrolling-setting.patch b/0001-Add-a-gtk-overlay-scrolling-setting.patch deleted file mode 100644 index 8047d8b42b437031331164435a109c7715192d51..0000000000000000000000000000000000000000 --- a/0001-Add-a-gtk-overlay-scrolling-setting.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 044383fe4533c59a0bbd58c977ed2ba5fb5862b8 Mon Sep 17 00:00:00 2001 -From: Matthias Clasen -Date: Fri, 31 May 2019 11:46:19 -0400 -Subject: [PATCH 1/2] Add a gtk-overlay-scrolling setting - -This is in preparation for letting user opt out of -overlay scrolling in the control-center. ---- - gdk/wayland/gdkscreen-wayland.c | 2 +- - gdk/x11/gdksettings.c | 1 + - gtk/gtksettings.c | 21 ++++++++++++++++++++- - 3 files changed, 22 insertions(+), 2 deletions(-) - -diff --git a/gdk/wayland/gdkscreen-wayland.c b/gdk/wayland/gdkscreen-wayland.c -index 6aff3a5a1a..5e156072f2 100644 ---- a/gdk/wayland/gdkscreen-wayland.c -+++ b/gdk/wayland/gdkscreen-wayland.c -@@ -502,6 +502,7 @@ static TranslationEntry translations[] = { - { FALSE, "org.gnome.desktop.interface", "gtk-im-module", "gtk-im-module", G_TYPE_STRING, { .s = "simple" } }, - { FALSE, "org.gnome.desktop.interface", "enable-animations", "gtk-enable-animations", G_TYPE_BOOLEAN, { .b = TRUE } }, - { FALSE, "org.gnome.desktop.interface", "gtk-enable-primary-paste", "gtk-enable-primary-paste", G_TYPE_BOOLEAN, { .b = TRUE } }, -+ { FALSE, "org.gnome.desktop.interface", "overlay-scrolling", "gtk-overlay-scrolling", G_TYPE_BOOLEAN, { .b = TRUE } }, - { FALSE, "org.gnome.settings-daemon.peripherals.mouse", "double-click", "gtk-double-click-time", G_TYPE_INT, { .i = 400 } }, - { FALSE, "org.gnome.settings-daemon.peripherals.mouse", "drag-threshold", "gtk-dnd-drag-threshold", G_TYPE_INT, {.i = 8 } }, - { FALSE, "org.gnome.desktop.sound", "theme-name", "gtk-sound-theme-name", G_TYPE_STRING, { .s = "freedesktop" } }, -diff --git a/gdk/x11/gdksettings.c b/gdk/x11/gdksettings.c -index f8bb6d896b..869c239b18 100644 ---- a/gdk/x11/gdksettings.c -+++ b/gdk/x11/gdksettings.c -@@ -69,6 +69,7 @@ static const struct { - {"Gtk/RecentFilesMaxAge", "gtk-recent-files-max-age"}, - {"Gtk/RecentFilesEnabled", "gtk-recent-files-enabled"}, - {"Gtk/KeynavUseCaret", "gtk-keynav-use-caret"}, -+ {"Gtk/OverlayScrolling", "gtk-overlay-scrolling"}, - - /* These are here in order to be recognized, but are not sent to - gtk as they are handled internally by gdk: */ -diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c -index 571ae11cd4..b83d9d5561 100644 ---- a/gtk/gtksettings.c -+++ b/gtk/gtksettings.c -@@ -224,7 +224,8 @@ enum { - PROP_ENABLE_PRIMARY_PASTE, - PROP_RECENT_FILES_ENABLED, - PROP_LONG_PRESS_TIME, -- PROP_KEYNAV_USE_CARET -+ PROP_KEYNAV_USE_CARET, -+ PROP_OVERLAY_SCROLLING - }; - - /* --- prototypes --- */ -@@ -1767,6 +1768,24 @@ gtk_settings_class_init (GtkSettingsClass *class) - GTK_PARAM_READWRITE), - NULL); - g_assert (result == PROP_KEYNAV_USE_CARET); -+ -+ /** -+ * GtkSettings:gtk-overlay-scrolling: -+ * -+ * Whether scrolled windows may use overlayed scrolling indicators. -+ * If this is set to %FALSE, scrolled windows will have permanent -+ * scrollbars. -+ * -+ * Since: 3.24.9 -+ */ -+ result = settings_install_property_parser (class, -+ g_param_spec_boolean ("gtk-overlay-scrolling", -+ P_("Whether to use overlay scrollbars"), -+ P_("Whether to use overlay scrollbars"), -+ TRUE, -+ GTK_PARAM_READWRITE), -+ NULL); -+ g_assert (result == PROP_OVERLAY_SCROLLING); - } - - static void --- -2.23.0 - diff --git a/0001-a11y-Check-X11-display-at-runtime.patch b/0001-a11y-Check-X11-display-at-runtime.patch deleted file mode 100644 index e91ade0f988344241ea4267270e7fde3ec1f02ff..0000000000000000000000000000000000000000 --- a/0001-a11y-Check-X11-display-at-runtime.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 6b91ab848b86aa7968bb421f2f3f30b1c8ad6ba2 Mon Sep 17 00:00:00 2001 -From: Olivier Fourdan -Date: Mon, 10 Dec 2018 17:05:53 +0100 -Subject: [PATCH] a11y: Check X11 display at runtime - -`gtk_widget_accessible_grab_focus()` code checks that X11 isenabled at -build time and uses X11 specific functions such as -`gdk_x11_get_server_time()` regardless of the actual backend being used. - -Check that we are using an X11 display when X11 is backend enabled, so -we do not crash when running on Wayland - -Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1507 ---- - gtk/a11y/gtkwidgetaccessible.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/gtk/a11y/gtkwidgetaccessible.c b/gtk/a11y/gtkwidgetaccessible.c -index 2154e88239..b1b866c39c 100644 ---- a/gtk/a11y/gtkwidgetaccessible.c -+++ b/gtk/a11y/gtkwidgetaccessible.c -@@ -648,11 +648,12 @@ gtk_widget_accessible_grab_focus (AtkComponent *component) - if (gtk_widget_is_toplevel (toplevel)) - { - #ifdef GDK_WINDOWING_X11 -- gtk_window_present_with_time (GTK_WINDOW (toplevel), -- gdk_x11_get_server_time (gtk_widget_get_window (widget))); --#else -- gtk_window_present (GTK_WINDOW (toplevel)); -+ if (GDK_IS_X11_DISPLAY (gtk_widget_get_display (toplevel))) -+ gtk_window_present_with_time (GTK_WINDOW (toplevel), -+ gdk_x11_get_server_time (gtk_widget_get_window (widget))); -+ else - #endif -+ gtk_window_present (GTK_WINDOW (toplevel)); - } - return TRUE; - } --- -2.19.2 - diff --git a/0001-a11y-Check-display-in-grab_cell_focus.patch b/0001-a11y-Check-display-in-grab_cell_focus.patch deleted file mode 100644 index e2f16a821df0d00e908da35b25d07479deefd6b8..0000000000000000000000000000000000000000 --- a/0001-a11y-Check-display-in-grab_cell_focus.patch +++ /dev/null @@ -1,40 +0,0 @@ -From e91197a37f6841ada71204cd41f7d0459adffd9a Mon Sep 17 00:00:00 2001 -From: Olivier Fourdan -Date: Mon, 17 Dec 2018 14:13:05 +0100 -Subject: [PATCH] a11y: Check display in `*grab_cell_focus()` - -Calling the accessibility function `grab_focus()` on a `GtkCell` under -Wayland will cause the client to crash. - -This is another case of `gdk_x11_get_server_time()` being called -regardless of the actual windowing backend used. - -Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1507 ---- - gtk/a11y/gtktreeviewaccessible.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/gtk/a11y/gtktreeviewaccessible.c b/gtk/a11y/gtktreeviewaccessible.c -index efb9c9bc53..eec4480f29 100644 ---- a/gtk/a11y/gtktreeviewaccessible.c -+++ b/gtk/a11y/gtktreeviewaccessible.c -@@ -1174,11 +1174,12 @@ gtk_tree_view_accessible_grab_cell_focus (GtkCellAccessibleParent *parent, - if (gtk_widget_is_toplevel (toplevel)) - { - #ifdef GDK_WINDOWING_X11 -- gtk_window_present_with_time (GTK_WINDOW (toplevel), -- gdk_x11_get_server_time (gtk_widget_get_window (widget))); --#else -- gtk_window_present (GTK_WINDOW (toplevel)); -+ if (GDK_IS_X11_DISPLAY (gtk_widget_get_display (toplevel))) -+ gtk_window_present_with_time (GTK_WINDOW (toplevel), -+ gdk_x11_get_server_time (gtk_widget_get_window (widget))); -+ else - #endif -+ gtk_window_present (GTK_WINDOW (toplevel)); - } - - return TRUE; --- -2.20.1 - diff --git a/0001-a11y-Include-window-management-buttons-in-headerbar.patch b/0001-a11y-Include-window-management-buttons-in-headerbar.patch deleted file mode 100644 index 1907e55fd24360a682b84460f57a1d960e70906e..0000000000000000000000000000000000000000 --- a/0001-a11y-Include-window-management-buttons-in-headerbar.patch +++ /dev/null @@ -1,290 +0,0 @@ -From bc1c0584b76e19d5d65bfa2ae809f95113e53c83 Mon Sep 17 00:00:00 2001 -From: Benjamin Otte -Date: Sun, 21 Jul 2019 23:15:00 +0200 -Subject: [PATCH] a11y: Include window management buttons in headerbar - ---- - gtk/a11y/Makefile.inc | 2 + - gtk/a11y/gtkheaderbaraccessible.c | 87 +++++++++++++++++++++++++++++++ - gtk/a11y/gtkheaderbaraccessible.h | 55 +++++++++++++++++++ - gtk/gtkcontainerprivate.h | 1 + - gtk/gtkheaderbar.c | 3 +- - 6 files changed, 149 insertions(+), 1 deletion(-) - create mode 100644 gtk/a11y/gtkheaderbaraccessible.c - create mode 100644 gtk/a11y/gtkheaderbaraccessible.h - -diff --git a/gtk/a11y/Makefile.inc b/gtk/a11y/Makefile.inc -index 8529c7ae57..3ed6c5decd 100644 ---- a/gtk/a11y/Makefile.inc -+++ b/gtk/a11y/Makefile.inc -@@ -14,6 +14,7 @@ a11y_h_sources = \ - a11y/gtkflowboxaccessible.h \ - a11y/gtkflowboxchildaccessible.h \ - a11y/gtkframeaccessible.h \ -+ a11y/gtkheaderbaraccessible.h \ - a11y/gtkiconviewaccessible.h \ - a11y/gtkimageaccessible.h \ - a11y/gtkimagecellaccessible.h \ -@@ -88,6 +89,7 @@ a11y_c_sources = \ - a11y/gtkflowboxaccessible.c \ - a11y/gtkflowboxchildaccessible.c \ - a11y/gtkframeaccessible.c \ -+ a11y/gtkheaderbaraccessible.c \ - a11y/gtkiconviewaccessible.c \ - a11y/gtkimageaccessible.c \ - a11y/gtkimagecellaccessible.c \ ---- a/gtk/Makefile.in -+++ b/gtk/Makefile.in -@@ -281,6 +281,7 @@ - a11y/gtkcontainercellaccessible.c a11y/gtkentryaccessible.c \ - a11y/gtkexpanderaccessible.c a11y/gtkflowboxaccessible.c \ - a11y/gtkflowboxchildaccessible.c a11y/gtkframeaccessible.c \ -+ a11y/gtkheaderbaraccessible.c \ - a11y/gtkiconviewaccessible.c a11y/gtkimageaccessible.c \ - a11y/gtkimagecellaccessible.c a11y/gtklabelaccessible.c \ - a11y/gtklevelbaraccessible.c a11y/gtklinkbuttonaccessible.c \ -@@ -487,6 +488,7 @@ - a11y/libgtk_3_la-gtkflowboxaccessible.lo \ - a11y/libgtk_3_la-gtkflowboxchildaccessible.lo \ - a11y/libgtk_3_la-gtkframeaccessible.lo \ -+ a11y/libgtk_3_la-gtkheaderbaraccessible.lo \ - a11y/libgtk_3_la-gtkiconviewaccessible.lo \ - a11y/libgtk_3_la-gtkimageaccessible.lo \ - a11y/libgtk_3_la-gtkimagecellaccessible.lo \ -@@ -1389,6 +1391,7 @@ - a11y/gtkflowboxaccessible.h \ - a11y/gtkflowboxchildaccessible.h \ - a11y/gtkframeaccessible.h \ -+ a11y/gtkheaderbaraccessible.h \ - a11y/gtkiconviewaccessible.h \ - a11y/gtkimageaccessible.h \ - a11y/gtkimagecellaccessible.h \ -@@ -1463,6 +1466,7 @@ - a11y/gtkflowboxaccessible.c \ - a11y/gtkflowboxchildaccessible.c \ - a11y/gtkframeaccessible.c \ -+ a11y/gtkheaderbaraccessible.c \ - a11y/gtkiconviewaccessible.c \ - a11y/gtkimageaccessible.c \ - a11y/gtkimagecellaccessible.c \ -@@ -2702,6 +2706,8 @@ - a11y/$(DEPDIR)/$(am__dirstamp) - a11y/libgtk_3_la-gtkframeaccessible.lo: a11y/$(am__dirstamp) \ - a11y/$(DEPDIR)/$(am__dirstamp) -+a11y/libgtk_3_la-gtkheaderbaraccessible.lo: a11y/$(am__dirstamp) \ -+ a11y/$(DEPDIR)/$(am__dirstamp) - a11y/libgtk_3_la-gtkiconviewaccessible.lo: a11y/$(am__dirstamp) \ - a11y/$(DEPDIR)/$(am__dirstamp) - a11y/libgtk_3_la-gtkimageaccessible.lo: a11y/$(am__dirstamp) \ -@@ -3447,6 +3453,7 @@ - @AMDEP_TRUE@@am__include@ @am__quote@a11y/$(DEPDIR)/libgtk_3_la-gtkflowboxaccessible.Plo@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@a11y/$(DEPDIR)/libgtk_3_la-gtkflowboxchildaccessible.Plo@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@a11y/$(DEPDIR)/libgtk_3_la-gtkframeaccessible.Plo@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@a11y/$(DEPDIR)/libgtk_3_la-gtkheaderbaraccessible.Plo@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@a11y/$(DEPDIR)/libgtk_3_la-gtkiconviewaccessible.Plo@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@a11y/$(DEPDIR)/libgtk_3_la-gtkimageaccessible.Plo@am__quote@ - @AMDEP_TRUE@@am__include@ @am__quote@a11y/$(DEPDIR)/libgtk_3_la-gtkimagecellaccessible.Plo@am__quote@ -@@ -3705,6 +3712,13 @@ - @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgtk_3_la_CFLAGS) $(CFLAGS) -c -o a11y/libgtk_3_la-gtkframeaccessible.lo `test -f 'a11y/gtkframeaccessible.c' || echo '$(srcdir)/'`a11y/gtkframeaccessible.c - -+a11y/libgtk_3_la-gtkheaderbaraccessible.lo: a11y/gtkheaderbaraccessible.c -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgtk_3_la_CFLAGS) $(CFLAGS) -MT a11y/libgtk_3_la-gtkheaderbaraccessible.lo -MD -MP -MF a11y/$(DEPDIR)/libgtk_3_la-gtkheaderbaraccessible.Tpo -c -o a11y/libgtk_3_la-gtkheaderbaraccessible.lo `test -f 'a11y/gtkheaderbaraccessible.c' || echo '$(srcdir)/'`a11y/gtkheaderbaraccessible.c -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) a11y/$(DEPDIR)/libgtk_3_la-gtkheaderbaraccessible.Tpo a11y/$(DEPDIR)/libgtk_3_la-gtkheaderbaraccessible.Plo -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='a11y/gtkheaderbaraccessible.c' object='a11y/libgtk_3_la-gtkheaderbaraccessible.lo' libtool=yes @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgtk_3_la_CFLAGS) $(CFLAGS) -c -o a11y/libgtk_3_la-gtkheaderbaraccessible.lo `test -f 'a11y/gtkheaderbaraccessible.c' || echo '$(srcdir)/'`a11y/gtkheaderbaraccessible.c -+ - a11y/libgtk_3_la-gtkiconviewaccessible.lo: a11y/gtkiconviewaccessible.c - @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgtk_3_la_CFLAGS) $(CFLAGS) -MT a11y/libgtk_3_la-gtkiconviewaccessible.lo -MD -MP -MF a11y/$(DEPDIR)/libgtk_3_la-gtkiconviewaccessible.Tpo -c -o a11y/libgtk_3_la-gtkiconviewaccessible.lo `test -f 'a11y/gtkiconviewaccessible.c' || echo '$(srcdir)/'`a11y/gtkiconviewaccessible.c - @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) a11y/$(DEPDIR)/libgtk_3_la-gtkiconviewaccessible.Tpo a11y/$(DEPDIR)/libgtk_3_la-gtkiconviewaccessible.Plo -diff --git a/gtk/a11y/gtkheaderbaraccessible.c b/gtk/a11y/gtkheaderbaraccessible.c -new file mode 100644 -index 0000000000..3610ac0d1f ---- /dev/null -+++ b/gtk/a11y/gtkheaderbaraccessible.c -@@ -0,0 +1,87 @@ -+/* GTK+ - accessibility implementations -+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc. -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library. If not, see . -+ */ -+ -+#include "config.h" -+ -+#include "gtkheaderbaraccessible.h" -+ -+#include "gtkcontainerprivate.h" -+ -+G_DEFINE_TYPE (GtkHeaderBarAccessible, gtk_header_bar_accessible, GTK_TYPE_CONTAINER_ACCESSIBLE) -+ -+static void -+count_widget (GtkWidget *widget, -+ gint *count) -+{ -+ (*count)++; -+} -+ -+static gint -+gtk_header_bar_accessible_get_n_children (AtkObject* obj) -+{ -+ GtkWidget *widget; -+ gint count = 0; -+ -+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj)); -+ if (widget == NULL) -+ return 0; -+ -+ gtk_container_forall (GTK_CONTAINER (widget), (GtkCallback) count_widget, &count); -+ return count; -+} -+ -+static AtkObject * -+gtk_header_bar_accessible_ref_child (AtkObject *obj, -+ gint i) -+{ -+ GList *children, *tmp_list; -+ AtkObject *accessible; -+ GtkWidget *widget; -+ -+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj)); -+ if (widget == NULL) -+ return NULL; -+ -+ children = gtk_container_get_all_children (GTK_CONTAINER (widget)); -+ tmp_list = g_list_nth (children, i); -+ if (!tmp_list) -+ { -+ g_list_free (children); -+ return NULL; -+ } -+ accessible = gtk_widget_get_accessible (GTK_WIDGET (tmp_list->data)); -+ -+ g_list_free (children); -+ g_object_ref (accessible); -+ -+ return accessible; -+} -+ -+static void -+gtk_header_bar_accessible_class_init (GtkHeaderBarAccessibleClass *klass) -+{ -+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass); -+ -+ class->get_n_children = gtk_header_bar_accessible_get_n_children; -+ class->ref_child = gtk_header_bar_accessible_ref_child; -+} -+ -+static void -+gtk_header_bar_accessible_init (GtkHeaderBarAccessible *header_bar) -+{ -+} -+ -diff --git a/gtk/a11y/gtkheaderbaraccessible.h b/gtk/a11y/gtkheaderbaraccessible.h -new file mode 100644 -index 0000000000..fca9428a94 ---- /dev/null -+++ b/gtk/a11y/gtkheaderbaraccessible.h -@@ -0,0 +1,55 @@ -+/* GTK+ - accessibility implementations -+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc. -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Library General Public -+ * License as published by the Free Software Foundation; either -+ * version 2 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Library General Public License for more details. -+ * -+ * You should have received a copy of the GNU Library General Public -+ * License along with this library. If not, see . -+ */ -+ -+#ifndef __GTK_HEADER_BAR_ACCESSIBLE_H__ -+#define __GTK_HEADER_BAR_ACCESSIBLE_H__ -+ -+#if !defined (__GTK_A11Y_H_INSIDE__) && !defined (GTK_COMPILATION) -+#error "Only can be included directly." -+#endif -+ -+#include -+ -+G_BEGIN_DECLS -+ -+#define GTK_TYPE_HEADER_BAR_ACCESSIBLE (gtk_header_bar_accessible_get_type ()) -+#define GTK_HEADER_BAR_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_HEADER_BAR_ACCESSIBLE, GtkHeaderBarAccessible)) -+#define GTK_HEADER_BAR_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_HEADER_BAR_ACCESSIBLE, GtkHeaderBarAccessibleClass)) -+#define GTK_IS_HEADER_BAR_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_HEADER_BAR_ACCESSIBLE)) -+#define GTK_IS_HEADER_BAR_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_HEADER_BAR_ACCESSIBLE)) -+#define GTK_HEADER_BAR_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_HEADER_BAR_ACCESSIBLE, GtkHeaderBarAccessibleClass)) -+ -+typedef struct _GtkHeaderBarAccessible GtkHeaderBarAccessible; -+typedef struct _GtkHeaderBarAccessibleClass GtkHeaderBarAccessibleClass; -+typedef struct _GtkHeaderBarAccessiblePrivate GtkHeaderBarAccessiblePrivate; -+ -+struct _GtkHeaderBarAccessible -+{ -+ GtkContainerAccessible parent; -+}; -+ -+struct _GtkHeaderBarAccessibleClass -+{ -+ GtkContainerAccessibleClass parent_class; -+}; -+ -+GDK_AVAILABLE_IN_ALL -+GType gtk_header_bar_accessible_get_type (void); -+ -+G_END_DECLS -+ -+#endif /* __GTK_HEADER_BAR_ACCESSIBLE_H__ */ -diff --git a/gtk/gtkcontainerprivate.h b/gtk/gtkcontainerprivate.h -index 7402a6676b..547e0295c3 100644 ---- a/gtk/gtkcontainerprivate.h -+++ b/gtk/gtkcontainerprivate.h -@@ -42,6 +42,7 @@ void _gtk_container_maybe_start_idle_sizer (GtkContainer *container); - gboolean _gtk_container_get_border_width_set (GtkContainer *container); - void _gtk_container_set_border_width_set (GtkContainer *container, - gboolean border_width_set); -+GList * gtk_container_get_all_children (GtkContainer *container); - void gtk_container_get_children_clip (GtkContainer *container, - GtkAllocation *out_clip); - void gtk_container_set_default_resize_mode (GtkContainer *container, -diff --git a/gtk/gtkheaderbar.c b/gtk/gtkheaderbar.c -index dd7d2093c9..0ef94e3c84 100644 ---- a/gtk/gtkheaderbar.c -+++ b/gtk/gtkheaderbar.c -@@ -30,7 +30,7 @@ - #include "gtkwindowprivate.h" - #include "gtkwidgetprivate.h" - #include "gtkcontainerprivate.h" --#include "a11y/gtkcontaineraccessible.h" -+#include "a11y/gtkheaderbaraccessible.h" - - #include - -@@ -2118,6 +2118,7 @@ gtk_header_bar_class_init (GtkHeaderBarClass *class) - - g_object_class_install_properties (object_class, LAST_PROP, header_bar_props); - -+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_HEADER_BAR_ACCESSIBLE); - gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_PANEL); - gtk_widget_class_set_css_name (widget_class, "headerbar"); - } --- -2.21.0 - diff --git a/0001-fix-nonoverlay-scrollbars.patch b/0001-fix-nonoverlay-scrollbars.patch deleted file mode 100644 index 23c872a8945ed720b2fc6106edd1de733c1fd220..0000000000000000000000000000000000000000 --- a/0001-fix-nonoverlay-scrollbars.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c -index 19090772201388c31bffba9f56db0e6e707f6093..a931d2bad5094aec76fc91c57792034357ed94d1 100644 ---- a/gtk/gtkscrolledwindow.c -+++ b/gtk/gtkscrolledwindow.c -@@ -1900,10 +1900,19 @@ gtk_scrolled_window_measure (GtkCssGadget *gadget, - */ - if (policy_may_be_visible (priv->hscrollbar_policy)) - { -- minimum_req.width = MAX (minimum_req.width, hscrollbar_requisition.width + sborder.left + sborder.right); -- natural_req.width = MAX (natural_req.width, hscrollbar_requisition.width + sborder.left + sborder.right); -+ int vscrollbar_extra_size; - -- if (!priv->use_indicators && priv->hscrollbar_policy == GTK_POLICY_ALWAYS) -+ if (!priv->use_indicators && policy_may_be_visible (priv->vscrollbar_policy)) -+ vscrollbar_extra_size = vscrollbar_requisition.width; -+ else -+ vscrollbar_extra_size = 0; -+ -+ minimum_req.width = MAX (minimum_req.width, -+ hscrollbar_requisition.width + sborder.left + sborder.right + vscrollbar_extra_size); -+ natural_req.width = MAX (natural_req.width, -+ hscrollbar_requisition.width + sborder.left + sborder.right + vscrollbar_extra_size); -+ -+ if (!priv->use_indicators) - { - minimum_req.height += scrollbar_spacing + hscrollbar_requisition.height; - natural_req.height += scrollbar_spacing + hscrollbar_requisition.height; -@@ -1912,10 +1921,19 @@ gtk_scrolled_window_measure (GtkCssGadget *gadget, - - if (policy_may_be_visible (priv->vscrollbar_policy)) - { -- minimum_req.height = MAX (minimum_req.height, vscrollbar_requisition.height + sborder.top + sborder.bottom); -- natural_req.height = MAX (natural_req.height, vscrollbar_requisition.height + sborder.top + sborder.bottom); -+ int hscrollbar_extra_size; -+ -+ if (!priv->use_indicators && policy_may_be_visible (priv->hscrollbar_policy)) -+ hscrollbar_extra_size = hscrollbar_requisition.height; -+ else -+ hscrollbar_extra_size = 0; -+ -+ minimum_req.height = MAX (minimum_req.height, -+ vscrollbar_requisition.height + sborder.top + sborder.bottom + hscrollbar_extra_size); -+ natural_req.height = MAX (natural_req.height, -+ vscrollbar_requisition.height + sborder.top + sborder.bottom + hscrollbar_extra_size); - -- if (!priv->use_indicators && priv->vscrollbar_policy == GTK_POLICY_ALWAYS) -+ if (!priv->use_indicators) - { - minimum_req.width += scrollbar_spacing + vscrollbar_requisition.width; - natural_req.width += scrollbar_spacing + vscrollbar_requisition.width; -diff --git a/testsuite/gtk/scrolledwindow.c b/testsuite/gtk/scrolledwindow.c -index c6093d8256e52071e00885d266d92b5bb7e664f7..e141fe35baa628592114e6cceebe8863b7b078dd 100644 ---- a/testsuite/gtk/scrolledwindow.c -+++ b/testsuite/gtk/scrolledwindow.c -@@ -58,7 +58,7 @@ test_size (gboolean overlay, - /* If the relevant scrollbar is non-overlay and always shown, it is added - * to the preferred size. When comparing to the expected size, we need to - * to exclude that extra, as we are only interested in the content size */ -- if (!overlay && policy == GTK_POLICY_ALWAYS) -+ if (!overlay) - { - GtkWidget *scrollbar = gtk_scrolled_window_get_vscrollbar (GTK_SCROLLED_WINDOW (scrolledwindow)); - gtk_widget_get_preferred_width (scrollbar, &scrollbar_size, NULL); -@@ -87,7 +87,7 @@ test_size (gboolean overlay, - gtk_widget_get_preferred_height (box, &child_size, NULL); - } - -- if (!overlay && policy == GTK_POLICY_ALWAYS) -+ if (!overlay) - { - GtkWidget *scrollbar = gtk_scrolled_window_get_hscrollbar (GTK_SCROLLED_WINDOW (scrolledwindow)); - gtk_widget_get_preferred_height (scrollbar, &scrollbar_size, NULL); diff --git a/0001-gtklistbox-Only-unparent-header-rows-if-they-haven-t.patch b/0001-gtklistbox-Only-unparent-header-rows-if-they-haven-t.patch deleted file mode 100644 index f80ade6a4baf9ddbb5d0cd1c8548a945c5771ad8..0000000000000000000000000000000000000000 --- a/0001-gtklistbox-Only-unparent-header-rows-if-they-haven-t.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 8ce68a519414df141e3de7432ab4d55564e933a0 Mon Sep 17 00:00:00 2001 -From: Philip Withnall -Date: Fri, 4 Oct 2019 18:25:34 +0100 -Subject: [PATCH] =?UTF-8?q?gtklistbox:=20Only=20unparent=20header=20rows?= - =?UTF-8?q?=20if=20they=20haven=E2=80=99t=20been=20reused?= -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It’s possible for code which uses a `GtkListBox` to reuse a single -header row, and move it around between rows. For example, this might -happen if the code has interactive widgets (like buttons) in the row, -and doesn’t want to continually recreate them and reattach signals to -them whenever the row headers change. - -Unfortunately, this was broken, as the old header widget was -unconditionally unparented, even if it had just been set as the header -for a different row in the same `GtkListBox`. This left it assigned as -a child widget in the `GtkListBox` (so it was iterated over by -`forall`), but without its parent widget set. - -Fix that by only unparenting the header if it hasn’t already been -assigned as the parent of a different row. - -Signed-off-by: Philip Withnall ---- - gtk/gtklistbox.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/gtk/gtklistbox.c b/gtk/gtklistbox.c -index 36f9ec5246..db3ec5cbb8 100644 ---- a/gtk/gtklistbox.c -+++ b/gtk/gtklistbox.c -@@ -2426,8 +2426,11 @@ gtk_list_box_update_header (GtkListBox *box, - priv->update_header_func_target); - if (old_header != ROW_PRIV (row)->header) - { -- if (old_header != NULL) -+ if (old_header != NULL && -+ g_hash_table_lookup (priv->header_hash, old_header) == row) - { -+ /* Only unparent the @old_header if it hasn’t been re-used as the -+ * header for a different row. */ - gtk_widget_unparent (old_header); - g_hash_table_remove (priv->header_hash, old_header); - } --- -2.18.2 - diff --git a/0001-reftests-Enforce-default-settings.patch b/0001-reftests-Enforce-default-settings.patch deleted file mode 100644 index e75895d2d3a0a1ccfcc5190a0c86cfe0c9f89168..0000000000000000000000000000000000000000 --- a/0001-reftests-Enforce-default-settings.patch +++ /dev/null @@ -1,70 +0,0 @@ -From b541ad48d1c7060e2d38205d4874675e27578b9b Mon Sep 17 00:00:00 2001 -From: Matthias Clasen -Date: Mon, 19 Jul 2021 13:10:31 -0400 -Subject: [PATCH] reftests: Enforce default settings - -Set all settings to their default values, so we -are less dependent on the environment to be set -up just right. In particular, this fixes animations -being disabled when we happen to run in a vm. ---- - testsuite/reftests/gtk-reftest.c | 36 ++++++++++++++++++++++++++++++++ - 1 file changed, 36 insertions(+) - -diff --git a/testsuite/reftests/gtk-reftest.c b/testsuite/reftests/gtk-reftest.c -index 585e1c393d..1a51a9756b 100644 ---- a/testsuite/reftests/gtk-reftest.c -+++ b/testsuite/reftests/gtk-reftest.c -@@ -368,6 +368,40 @@ add_test_for_file (GFile *file) - g_list_free_full (files, g_object_unref); - } - -+static void -+enforce_default_settings (void) -+{ -+ GtkSettings *settings; -+ GTypeClass *klass; -+ GParamSpec **pspecs; -+ guint n_pspecs; -+ int i; -+ -+ settings = gtk_settings_get_default (); -+ -+ klass = g_type_class_ref (G_OBJECT_TYPE (settings)); -+ -+ pspecs = g_object_class_list_properties (klass, &n_pspecs); -+ for (i = 0; i < n_pspecs; i++) -+ { -+ GParamSpec *pspec = pspecs[i]; -+ const GValue *value; -+ -+ if ((pspec->flags & G_PARAM_WRITABLE) == 0) -+ continue; -+ -+ if (pspec->value_type == G_TYPE_HASH_TABLE) -+ continue; -+ -+ value = g_param_spec_get_default_value (pspec); -+ g_object_set_property (settings, pspec->name, value); -+ } -+ -+ g_free (pspecs); -+ -+ g_type_class_unref (klass); -+} -+ - int - main (int argc, char **argv) - { -@@ -382,6 +416,8 @@ main (int argc, char **argv) - if (!parse_command_line (&argc, &argv)) - return 1; - -+ enforce_default_settings (); -+ - if (arg_base_dir) - basedir = arg_base_dir; - else --- -2.31.1 - diff --git a/0002-scrolled-window-respect-overlay-scrolling-setting.patch b/0002-scrolled-window-respect-overlay-scrolling-setting.patch deleted file mode 100644 index e62b8e88f544e04a6d5b5014f97f6cdad593f2a3..0000000000000000000000000000000000000000 --- a/0002-scrolled-window-respect-overlay-scrolling-setting.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 26b24916c8570a73bdc9d7a736584ceb68384c81 Mon Sep 17 00:00:00 2001 -From: Matthias Clasen -Date: Fri, 31 May 2019 11:51:20 -0400 -Subject: [PATCH 2/2] scrolled window: respect overlay-scrolling setting - -If the gtk-overlay-scrolling setting is FALSE, -don't use overlay scrollbars. ---- - gtk/gtkscrolledwindow.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c -index d52ccf646c..b2dc1d1c79 100644 ---- a/gtk/gtkscrolledwindow.c -+++ b/gtk/gtkscrolledwindow.c -@@ -704,6 +704,9 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class) - * is present. Otherwise, they are overlayed on top of the content, - * as narrow indicators. - * -+ * Note that overlay scrolling can also be globally disabled, with -+ * the #GtkSettings::gtk-overlay-scrolling setting. -+ * - * Since: 3.16 - */ - properties[PROP_OVERLAY_SCROLLING] = -@@ -4163,6 +4166,7 @@ gtk_scrolled_window_map (GtkWidget *widget) - GTK_WIDGET_CLASS (gtk_scrolled_window_parent_class)->map (widget); - - gtk_scrolled_window_update_animating (scrolled_window); -+ gtk_scrolled_window_update_use_indicators (scrolled_window); - } - - static void -@@ -4439,8 +4443,12 @@ gtk_scrolled_window_update_use_indicators (GtkScrolledWindow *scrolled_window) - { - GtkScrolledWindowPrivate *priv = scrolled_window->priv; - gboolean use_indicators; -+ GtkSettings *settings = gtk_widget_get_settings (GTK_WIDGET (scrolled_window)); -+ gboolean overlay_scrolling; -+ -+ g_object_get (settings, "gtk-overlay-scrolling", &overlay_scrolling, NULL); - -- use_indicators = priv->overlay_scrolling; -+ use_indicators = overlay_scrolling && priv->overlay_scrolling; - - if (g_strcmp0 (g_getenv ("GTK_OVERLAY_SCROLLING"), "0") == 0) - use_indicators = FALSE; --- -2.23.0 - diff --git a/download b/download deleted file mode 100644 index 3f854710fb6a6a4378c9dce928dd30b1ff3dbed1..0000000000000000000000000000000000000000 --- a/download +++ /dev/null @@ -1 +0,0 @@ -61e60dc073e0a6893c72043d20579dc0 gtk+-3.22.30.tar.xz diff --git a/gtk+-3.24.31.tar.xz b/gtk+-3.24.31.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..af2b67c0a28cbf4de9be5330f6e19a90ae3b5130 Binary files /dev/null and b/gtk+-3.24.31.tar.xz differ diff --git a/gtk-3.22.20-avoid-cellarea-crash.patch b/gtk-3.22.20-avoid-cellarea-crash.patch deleted file mode 100644 index 64dd141800a44b7476200090af10b20d076359e5..0000000000000000000000000000000000000000 --- a/gtk-3.22.20-avoid-cellarea-crash.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 4ba89f25b8a88616afc1915bdb4fb87d13efae6f Mon Sep 17 00:00:00 2001 -From: Benjamin Otte -Date: Tue, 15 Jun 2021 19:34:37 +0200 -Subject: [PATCH] cellarea: Don't shrink area too much - -Do not compute rectangles with negative width/height. This avoids -assertion failures further down when those rectangles were actually -checked. - -https://bugzilla.redhat.com/show_bug.cgi?id=1962215 ---- - gtk/gtkcellarea.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c -index 575e1c7fde..d1b3b1a279 100644 ---- a/gtk/gtkcellarea.c -+++ b/gtk/gtkcellarea.c -@@ -3563,8 +3563,18 @@ gtk_cell_area_inner_cell_area (GtkCellArea *area, - - *inner_area = *cell_area; - -+ if (border.left + border.right > cell_area->width) -+ { -+ border.left = cell_area->width / 2; -+ border.right = (cell_area->width + 1) / 2; -+ } - inner_area->x += border.left; - inner_area->width -= border.left + border.right; -+ if (border.top + border.bottom > cell_area->height) -+ { -+ border.top = cell_area->height / 2; -+ border.bottom = (cell_area->height + 1) / 2; -+ } - inner_area->y += border.top; - inner_area->height -= border.top + border.bottom; - } --- -GitLab - diff --git a/gtk-3.22.20-fix-treeview-refcount.patch b/gtk-3.22.20-fix-treeview-refcount.patch deleted file mode 100644 index f7637d4b0c9595bb3e6f2f379f57a7883091bd56..0000000000000000000000000000000000000000 --- a/gtk-3.22.20-fix-treeview-refcount.patch +++ /dev/null @@ -1,91 +0,0 @@ -From d4f62b44d47e3dddfb57add4f1f76cab0297584d Mon Sep 17 00:00:00 2001 -From: Matthias Clasen -Date: Fri, 11 Jun 2021 08:53:46 -0400 -Subject: [PATCH 1/2] a11y: Fix ref counting in tree views - -GtkContainerCellAccessible wasn't unsetting accessible -parents. Fix that. - -By itself, this doesn't help for freeing a memory leak, -since AtkObject keeps a ref on its parent, so we never -free the GtkContainerCellAccessible as long as it has children. ---- - gtk/a11y/gtkcontainercellaccessible.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/gtk/a11y/gtkcontainercellaccessible.c b/gtk/a11y/gtkcontainercellaccessible.c -index a756e3cadf..a40446fb47 100644 ---- a/gtk/a11y/gtkcontainercellaccessible.c -+++ b/gtk/a11y/gtkcontainercellaccessible.c -@@ -30,12 +30,19 @@ struct _GtkContainerCellAccessiblePrivate - G_DEFINE_TYPE_WITH_PRIVATE (GtkContainerCellAccessible, gtk_container_cell_accessible, GTK_TYPE_CELL_ACCESSIBLE) - - -+static void -+unset_child (gpointer child) -+{ -+ atk_object_set_parent (ATK_OBJECT (child), NULL); -+ g_object_unref (child); -+} -+ - static void - gtk_container_cell_accessible_finalize (GObject *obj) - { - GtkContainerCellAccessible *container = GTK_CONTAINER_CELL_ACCESSIBLE (obj); - -- g_list_free_full (container->priv->children, g_object_unref); -+ g_list_free_full (container->priv->children, unset_child); - - G_OBJECT_CLASS (gtk_container_cell_accessible_parent_class)->finalize (obj); - } -@@ -157,6 +164,7 @@ gtk_container_cell_accessible_remove_child (GtkContainerCellAccessible *containe - g_return_if_fail (GTK_IS_CELL_ACCESSIBLE (child)); - g_return_if_fail (container->priv->n_children > 0); - -+ atk_object_set_parent (ATK_OBJECT (child), NULL); - container->priv->children = g_list_remove (container->priv->children, child); - container->priv->n_children--; - --- -GitLab - - -From 21f8098261486417db371b202bc0494c12017468 Mon Sep 17 00:00:00 2001 -From: Matthias Clasen -Date: Fri, 11 Jun 2021 08:55:48 -0400 -Subject: [PATCH 2/2] a11y: Plug a memory leak with treeviews - -We need to explicitly remove the children from -a GtkContainerCellAccessible, since they otherwise -keep the parent alive. - -Fixes: #3981 ---- - gtk/a11y/gtktreeviewaccessible.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/gtk/a11y/gtktreeviewaccessible.c b/gtk/a11y/gtktreeviewaccessible.c -index adad462064..c1a2097a1e 100644 ---- a/gtk/a11y/gtktreeviewaccessible.c -+++ b/gtk/a11y/gtktreeviewaccessible.c -@@ -104,6 +104,17 @@ static void - cell_info_free (GtkTreeViewAccessibleCellInfo *cell_info) - { - gtk_accessible_set_widget (GTK_ACCESSIBLE (cell_info->cell), NULL); -+ if (GTK_IS_CONTAINER_CELL_ACCESSIBLE (cell_info->cell)) -+ { -+ GList *children; -+ -+ while ((children = gtk_container_cell_accessible_get_children (GTK_CONTAINER_CELL_ACCESSIBLE (cell_info->cell))) != NULL) -+ { -+ GtkCellAccessible *child = children->data; -+ gtk_container_cell_accessible_remove_child (GTK_CONTAINER_CELL_ACCESSIBLE (cell_info->cell), child); -+ } -+ } -+ - g_object_unref (cell_info->cell); - - g_free (cell_info); --- -GitLab - diff --git a/gtk-3.22.20-quiet-exit.patch b/gtk-3.22.20-quiet-exit.patch deleted file mode 100644 index e50cf8828722e4be97c044d55e1764c2790ae102..0000000000000000000000000000000000000000 --- a/gtk-3.22.20-quiet-exit.patch +++ /dev/null @@ -1,51 +0,0 @@ -From c3503fcc84eec0bcf857cc744580aa9a4d5dc7eb Mon Sep 17 00:00:00 2001 -From: Matthias Clasen -Date: Tue, 13 Apr 2021 14:10:27 -0400 -Subject: [PATCH] x11: Be quiet on exit by default - -The condition we check for to catch X servers going away -may not be accurate anymore, and the warning shows up in -logs, causing customers to be concerned. So, be quiet by -default, unless the user explicitly asked for a message. ---- - gdk/x11/gdkmain-x11.c | 23 ++++++----------------- - 1 file changed, 6 insertions(+), 17 deletions(-) - -diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c -index 64c7cb4302..cd877ce3e4 100644 ---- a/gdk/x11/gdkmain-x11.c -+++ b/gdk/x11/gdkmain-x11.c -@@ -240,24 +240,13 @@ gdk_x_io_error (Display *display) - /* This is basically modelled after the code in XLib. We need - * an explicit error handler here, so we can disable our atexit() - * which would otherwise cause a nice segfault. -- * We fprintf(stderr, instead of g_warning() because g_warning() -- * could possibly be redirected to a dialog -+ * We g_debug() instead of g_warning(), because g_warning() -+ * could possibly be redirected to the log - */ -- if (errno == EPIPE) -- { -- g_message ("The application '%s' lost its connection to the display %s;\n" -- "most likely the X server was shut down or you killed/destroyed\n" -- "the application.\n", -- g_get_prgname (), -- display ? DisplayString (display) : gdk_get_display_arg_name ()); -- } -- else -- { -- g_message ("%s: Fatal IO error %d (%s) on X server %s.\n", -- g_get_prgname (), -- errno, g_strerror (errno), -- display ? DisplayString (display) : gdk_get_display_arg_name ()); -- } -+ g_debug ("%s: Fatal IO error %d (%s) on X server %s.\n", -+ g_get_prgname (), -+ errno, g_strerror (errno), -+ display ? DisplayString (display) : gdk_get_display_arg_name ()); - - _exit (1); - } --- -GitLab - diff --git a/0001-entry-Only-offer-Emoji-if-requested.patch b/gtk3-3.24.30-entry-no-emoji-context-menu.patch similarity index 100% rename from 0001-entry-Only-offer-Emoji-if-requested.patch rename to gtk3-3.24.30-entry-no-emoji-context-menu.patch diff --git a/gtk3-3.24.31-meson-reftest.patch b/gtk3-3.24.31-meson-reftest.patch new file mode 100644 index 0000000000000000000000000000000000000000..16873e2962395abb88146d447f2dc05b0f577aac --- /dev/null +++ b/gtk3-3.24.31-meson-reftest.patch @@ -0,0 +1,53 @@ +From 7f295eeb324c3d793bdf302fa7ea9ebdd8a52bcf Mon Sep 17 00:00:00 2001 +From: David King +Date: Thu, 23 Dec 2021 10:53:57 +0000 +Subject: [PATCH] meson: Do not install reftests + +Match the testsuite in the main branch. +--- + testsuite/reftests/meson.build | 25 +------------------------ + 1 file changed, 1 insertion(+), 24 deletions(-) + +diff --git a/testsuite/reftests/meson.build b/testsuite/reftests/meson.build +index b4bf6784cc..2135ebb434 100644 +--- a/testsuite/reftests/meson.build ++++ b/testsuite/reftests/meson.build +@@ -22,9 +22,7 @@ libreftest = shared_library('reftest', + + gtk_reftest = executable('gtk-reftest', 'gtk-reftest.c', + link_with : [libgtkreftestprivate, libreftest], +- dependencies : libgtk_dep, +- install: get_option('installed_tests'), +- install_dir: installed_test_bindir) ++ dependencies : libgtk_dep) + + test_data = [ + '721800-0px-dotted-border.css', +@@ -457,24 +455,3 @@ foreach testname : test_data + is_parallel: false) + endif + endforeach +- +-reftests_installed_tests = [ +- 'reftests-dark.test', +- 'reftests-hc.test', +- 'reftests-hci.test', +- 'reftests.test', +-] +- +-if get_option('installed_tests') +- test_cdata = configuration_data() +- test_cdata.set('libexecdir', gtk_libexecdir) +- +- foreach t: reftests_installed_tests +- configure_file(input: '@0@.in'.format(t), +- output: t, +- configuration: test_cdata, +- install_dir: installed_test_datadir) +- endforeach +- +- install_data(test_data, install_dir: testexecdir) +-endif +-- +2.33.1 + diff --git a/gtk3-3.24.31-meson.patch b/gtk3-3.24.31-meson.patch new file mode 100644 index 0000000000000000000000000000000000000000..0d97626267a1d78d625f360021c8dfb08c2ab094 --- /dev/null +++ b/gtk3-3.24.31-meson.patch @@ -0,0 +1,316 @@ +From 9bad0a2d5e35fdd2d89efedae1298d7c3dd158a3 Mon Sep 17 00:00:00 2001 +From: David King +Date: Tue, 21 Dec 2021 10:09:29 +0000 +Subject: [PATCH 1/3] meson: Remove missing reftests + +Removed from autotools build in commit +93e1f7f1ec709325fe9b0554b92add06ad988ae8. +--- + testsuite/reftests/meson.build | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/testsuite/reftests/meson.build b/testsuite/reftests/meson.build +index 9bfe1bb698..b4bf6784cc 100644 +--- a/testsuite/reftests/meson.build ++++ b/testsuite/reftests/meson.build +@@ -291,9 +291,6 @@ test_data = [ + 'label-text-shadow-clipping.css', + 'label-text-shadow-clipping.ref.ui', + 'label-text-shadow-clipping.ui', +- 'label-text-shadow-changes-modify-clip.css', +- 'label-text-shadow-changes-modify-clip.ref.ui', +- 'label-text-shadow-changes-modify-clip.ui', + 'label-width-chars-dont-shrink.ref.ui', + 'label-width-chars-dont-shrink.ui', + 'label-wrap-justify.ref.ui', +@@ -405,10 +402,6 @@ test_data = [ + 'textview-margins.ui', + 'textview-tags.ref.ui', + 'textview-tags.ui', +- 'toplevel-vs-popup.ref.ui', +- 'toplevel-vs-popup.ui', +- 'treeview-crash-too-wide.ref.ui', +- 'treeview-crash-too-wide.ui', + 'treeview-fixed-height.css', + 'treeview-fixed-height.ref.ui', + 'treeview-fixed-height.ui', +-- +2.33.1 + + +From 2b566f0633a740cca2b30941231f0507de873002 Mon Sep 17 00:00:00 2001 +From: David King +Date: Tue, 21 Dec 2021 11:10:37 +0000 +Subject: [PATCH 2/3] meson: Install example schema XML + +--- + examples/application10/meson.build | 4 +++- + examples/application5/meson.build | 4 +++- + examples/application6/meson.build | 4 +++- + examples/application7/meson.build | 4 +++- + examples/application8/meson.build | 4 +++- + examples/application9/meson.build | 4 +++- + 6 files changed, 18 insertions(+), 6 deletions(-) + +diff --git a/examples/application10/meson.build b/examples/application10/meson.build +index ce842ae794..417a64155e 100644 +--- a/examples/application10/meson.build ++++ b/examples/application10/meson.build +@@ -5,7 +5,7 @@ app10_resources = gnome.compile_resources( + source_dir: '.' + ) + +-app10_schemas = gnome.compile_schemas() ++app10_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml'])) + + + app10 = executable( +@@ -21,3 +21,5 @@ app10 = executable( + app10_schemas, + dependencies: libgtk_dep + ) ++ ++install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir) +diff --git a/examples/application5/meson.build b/examples/application5/meson.build +index f0fed1ca59..8ecb41948e 100644 +--- a/examples/application5/meson.build ++++ b/examples/application5/meson.build +@@ -5,7 +5,7 @@ app5_resources = gnome.compile_resources( + source_dir: '.' + ) + +-app5_schemas = gnome.compile_schemas() ++app5_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml'])) + + + app5 = executable( +@@ -19,3 +19,5 @@ app5 = executable( + app5_schemas, + dependencies: libgtk_dep + ) ++ ++install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir) +diff --git a/examples/application6/meson.build b/examples/application6/meson.build +index 2d923f35a3..8a172e2e26 100644 +--- a/examples/application6/meson.build ++++ b/examples/application6/meson.build +@@ -5,7 +5,7 @@ app6_resources = gnome.compile_resources( + source_dir: '.' + ) + +-app6_schemas = gnome.compile_schemas() ++app6_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml'])) + + + app6 = executable( +@@ -21,3 +21,5 @@ app6 = executable( + app6_schemas, + dependencies: libgtk_dep + ) ++ ++install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir) +diff --git a/examples/application7/meson.build b/examples/application7/meson.build +index cc32f36ad0..4c46221085 100644 +--- a/examples/application7/meson.build ++++ b/examples/application7/meson.build +@@ -5,7 +5,7 @@ app7_resources = gnome.compile_resources( + source_dir: '.' + ) + +-app7_schemas = gnome.compile_schemas() ++app7_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml'])) + + + app7 = executable( +@@ -21,3 +21,5 @@ app7 = executable( + app7_schemas, + dependencies: libgtk_dep + ) ++ ++install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir) +diff --git a/examples/application8/meson.build b/examples/application8/meson.build +index 1192f4d688..ee49034d2b 100644 +--- a/examples/application8/meson.build ++++ b/examples/application8/meson.build +@@ -5,7 +5,7 @@ app8_resources = gnome.compile_resources( + source_dir: '.' + ) + +-app8_schemas = gnome.compile_schemas() ++app8_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml'])) + + + app8 = executable( +@@ -21,3 +21,5 @@ app8 = executable( + app8_schemas, + dependencies: libgtk_dep + ) ++ ++install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir) +diff --git a/examples/application9/meson.build b/examples/application9/meson.build +index fccee738cb..46b77c4d17 100644 +--- a/examples/application9/meson.build ++++ b/examples/application9/meson.build +@@ -5,7 +5,7 @@ app9_resources = gnome.compile_resources( + source_dir: '.' + ) + +-app9_schemas = gnome.compile_schemas() ++app9_schemas = gnome.compile_schemas(depend_files: files(['org.gtk.exampleapp.gschema.xml'])) + + + app9 = executable( +@@ -21,3 +21,5 @@ app9 = executable( + app9_schemas, + dependencies: libgtk_dep + ) ++ ++install_data('org.gtk.exampleapp.gschema.xml', install_dir: gtk_schemasdir) +-- +2.33.1 + + +From e36849e6a397bc7e0356bd51583d79f821f9c3db Mon Sep 17 00:00:00 2001 +From: David King +Date: Tue, 21 Dec 2021 14:04:40 +0000 +Subject: [PATCH 3/3] Revert "meson: simplify builtin_immodules build option" + +This reverts commit 749a58ab26bc01381d66ccefdd3aa42a34353e70. + +This maintains feature parity with the autotools build. +--- + gtk/meson.build | 2 +- + meson.build | 30 ++++++++++++++++++++++++------ + meson_options.txt | 4 ++-- + modules/input/meson.build | 2 +- + 4 files changed, 28 insertions(+), 10 deletions(-) + +diff --git a/gtk/meson.build b/gtk/meson.build +index 9754686cca..12aa7db5c3 100644 +--- a/gtk/meson.build ++++ b/gtk/meson.build +@@ -959,7 +959,7 @@ foreach l: immodules + cond = l.get(2, true) + cflags = l.get(3, []) + +- if cond and builtin_immodules ++ if cond and (builtin_immodules.contains(name) or builtin_all_immodules) + gtk_cargs += ['-DINCLUDE_IM_@0@'.format(name.underscorify())] + mod = static_library('staticimmodule-@0@'.format(name), + sources + gtk_dep_sources, +diff --git a/meson.build b/meson.build +index 16d1597116..15cca3de15 100644 +--- a/meson.build ++++ b/meson.build +@@ -499,6 +499,8 @@ else + cdata.set_quoted('ISO_CODES_PREFIX', get_option('prefix')) + endif + ++backend_immodules = [] ++ + pc_gdk_extra_libs = [] + + cairo_found_type = cairo_dep.type_name() +@@ -554,6 +556,7 @@ if wayland_enabled + wlprotocolsdep = dependency('wayland-protocols', version: wayland_proto_req) + wlcursordep = dependency('wayland-cursor', version: wayland_req) + wlegldep = dependency('wayland-egl') ++ backend_immodules += ['wayland'] + + wayland_pkgs = [ + 'wayland-client', wayland_req, +@@ -578,6 +581,8 @@ if x11_enabled + fontconfig_dep = dependency('fontconfig', fallback: ['fontconfig', 'fontconfig_dep']) + atkbridge_dep = dependency('atk-bridge-2.0', version: at_spi2_atk_req) + ++ backend_immodules += ['xim'] ++ + x11_pkgs = ['fontconfig', 'x11', 'xext', 'xi', 'xrandr'] + + if xcursor_dep.found() +@@ -656,10 +661,12 @@ endif + + if broadway_enabled + pc_gdk_extra_libs += ['-lz'] ++ backend_immodules += ['broadway'] + endif + + if quartz_enabled + pc_gdk_extra_libs += ['-Wl,-framework,Cocoa', '-Wl,-framework,Carbon', '-Wl,-framework,CoreGraphics'] ++ backend_immodules += ['quartz'] + endif + + extra_demo_ldflags = [] +@@ -674,6 +681,7 @@ if win32_enabled + pc_gdk_extra_libs += ['-Wl,-luuid'] + endif + pc_gdk_extra_libs += ['-lwinmm', '-ldwmapi', '-lsetupapi', '-lcfgmgr32'] ++ backend_immodules += ['ime'] + + # Check whether libepoxy is built with EGL support on Windows + win32_has_egl = epoxy_dep.get_variable( +@@ -684,20 +692,30 @@ endif + + # IMModules stuff-unfortunately we need to put items here + # as they can be built as modules or built directly into GTK ++builtin_all_immodules = false ++ + builtin_modules_opt = get_option('builtin_immodules') +-if builtin_modules_opt == 'auto' ++builtin_immodules = [] ++ ++if builtin_modules_opt == '' + if os_win32 + # Current MSVC projects build all immodules directly into GTK by default, + # as does the mingw autotools build + message('IMModules are built into GTK for MSVC builds by default') +- builtin_immodules = true ++ builtin_immodules = ['all'] + else +- builtin_immodules = false ++ builtin_immodules = ['none'] + endif +-elif builtin_modules_opt == 'yes' +- builtin_immodules = true + else +- builtin_immodules = false ++ builtin_immodules = builtin_modules_opt.split(',') ++endif ++ ++if builtin_immodules.contains('none') ++ builtin_immodules = [] ++elif builtin_immodules.contains('all') ++ builtin_all_immodules = true ++elif builtin_immodules.contains('backend') ++ builtin_immodules += backend_immodules + endif + + proto_sources = [ +diff --git a/meson_options.txt b/meson_options.txt +index 1ca55b1467..94099aa01e 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -45,5 +45,5 @@ option('installed_tests', type: 'boolean', value: 'false', + description : 'enable installed tests') + + # input modules +-option('builtin_immodules', type: 'combo', choices : ['yes', 'no', 'auto'], +- value: 'auto', description: 'Build immodules into GTK so/DLL') ++option('builtin_immodules', type: 'string', ++ value: '', description: 'Build specified immodules into GTK so/DLL (comma-separated list), "all", "none" or "backend"') +diff --git a/modules/input/meson.build b/modules/input/meson.build +index 7b201af894..95534b05ec 100644 +--- a/modules/input/meson.build ++++ b/modules/input/meson.build +@@ -7,7 +7,7 @@ foreach l: immodules + cond = l.get(2, true) + cflags = l.get(3, []) + +- if cond and not builtin_immodules ++ if cond and not (builtin_immodules.contains(name) or builtin_all_immodules) + shared_module('im-@0@'.format(name), + immod_sources, + c_args: common_cflags + cflags, +-- +2.33.1 + diff --git a/gtk-3.22.20-fix-treeview-refcount2.patch b/gtk3-3.24.31-treeview-a11y-leak-fix.patch similarity index 100% rename from gtk-3.22.20-fix-treeview-refcount2.patch rename to gtk3-3.24.31-treeview-a11y-leak-fix.patch diff --git a/gtk3.spec b/gtk3.spec index 20e5e7badc786c034fde1a3dd08fba9c398c9235..e65a662024f7a24502329cc576ad1ce16d25ce8e 100644 --- a/gtk3.spec +++ b/gtk3.spec @@ -1,68 +1,59 @@ %define anolis_release .0.1 -%if 0%{?fedora} || 0%{?rhel} > 7 -%global with_wayland 1 +%if 0%{?fedora} %global with_broadway 1 %endif -%global glib2_version 2.49.4 -%global pango_version 1.37.3 -%global atk_version 2.15.1 +%global glib2_version 2.57.2 +%global pango_version 1.41.0 +%global atk_version 2.35.1 %global cairo_version 1.14.0 %global gdk_pixbuf_version 2.30.0 %global xrandr_version 1.5.0 -%global wayland_version 1.9.91 -%global wayland_protocols_version 1.12 -%global epoxy_version 1.0 +%global wayland_protocols_version 1.17 +%global wayland_version 1.14.91 +%global epoxy_version 1.4 %global bin_version 3.0.0 -%global _changelog_trimtime %(date +%s -d "1 year ago") - # Filter provides for private modules %global __provides_exclude_from ^%{_libdir}/gtk-3.0 Name: gtk3 -Version: 3.22.30 -Release: 10%{anolis_release}%{?dist} +Version: 3.24.31 +Release: 2%{anolis_release}%{?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 - -# rhbz#1656447 / https://gitlab.gnome.org/GNOME/gtk/issues/1507 -Patch1: 0001-a11y-Check-X11-display-at-runtime.patch -Patch2: 0001-a11y-Check-display-in-grab_cell_focus.patch -# ehbz#1723836 -Patch3: 0001-a11y-Include-window-management-buttons-in-headerbar.patch -# rhbz#1736742 -Patch4: 0001-Add-a-gtk-overlay-scrolling-setting.patch -Patch5: 0002-scrolled-window-respect-overlay-scrolling-setting.patch -# Backported from upstream / https://gitlab.gnome.org/GNOME/gtk/merge_requests/1114 -# rhbz#1843486 -Patch6: 0001-gtklistbox-Only-unparent-header-rows-if-they-haven-t.patch -# rhbz#1893196 -Patch7: 0001-entry-Only-offer-Emoji-if-requested.patch -# rhbz#1873488 -Patch8: 0001-fix-nonoverlay-scrollbars.patch -# Upstream patch to make reftests work in a vm -Patch9: 0001-reftests-Enforce-default-settings.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=2032438 -Patch10: gtk-3.22.20-fix-treeview-refcount.patch -Patch11: gtk-3.22.20-fix-treeview-refcount2.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=1887266 -Patch12: gtk-3.22.20-quiet-exit.patch -# https://bugzilla.redhat.com/show_bug.cgi?id=2032437 -Patch13: gtk-3.22.20-avoid-cellarea-crash.patch +Source0: http://download.gnome.org/sources/gtk+/3.24/gtk+-%{version}.tar.xz + +# https://bugzilla.redhat.com/show_bug.cgi?id=2025439 +Patch0: gtk3-3.24.30-entry-no-emoji-context-menu.patch + +# https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4273 +Patch1: gtk3-3.24.31-meson.patch +# https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4280 +Patch2: gtk3-3.24.31-meson-reftest.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=2055013 +Patch3: gtk3-3.24.31-treeview-a11y-leak-fix.patch BuildRequires: pkgconfig(atk) >= %{atk_version} BuildRequires: pkgconfig(atk-bridge-2.0) -BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version} -BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(avahi-gobject) BuildRequires: pkgconfig(cairo) >= %{cairo_version} BuildRequires: pkgconfig(cairo-gobject) >= %{cairo_version} -BuildRequires: pkgconfig(pango) >= %{pango_version} +BuildRequires: pkgconfig(colord) +BuildRequires: pkgconfig(egl) +BuildRequires: pkgconfig(epoxy) BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= %{gdk_pixbuf_version} +BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version} +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(pango) >= %{pango_version} +BuildRequires: pkgconfig(tracker-sparql-3.0) +BuildRequires: pkgconfig(wayland-client) >= %{wayland_version} +BuildRequires: pkgconfig(wayland-cursor) >= %{wayland_version} +BuildRequires: pkgconfig(wayland-egl) >= %{wayland_version} +BuildRequires: pkgconfig(wayland-protocols) >= %{wayland_protocols_version} BuildRequires: pkgconfig(xi) BuildRequires: pkgconfig(xrandr) >= %{xrandr_version} BuildRequires: pkgconfig(xrender) @@ -72,23 +63,12 @@ BuildRequires: pkgconfig(xfixes) BuildRequires: pkgconfig(xinerama) BuildRequires: pkgconfig(xcomposite) BuildRequires: pkgconfig(xdamage) -BuildRequires: pkgconfig(epoxy) -BuildRequires: gettext -BuildRequires: gtk-doc +BuildRequires: pkgconfig(xkbcommon) BuildRequires: cups-devel -BuildRequires: pkgconfig(rest-0.7) -BuildRequires: pkgconfig(json-glib-1.0) -BuildRequires: pkgconfig(colord) -BuildRequires: pkgconfig(avahi-gobject) BuildRequires: desktop-file-utils -%if 0%{?with_wayland} -BuildRequires: pkgconfig(egl) -BuildRequires: pkgconfig(wayland-client) >= %{wayland_version} -BuildRequires: pkgconfig(wayland-cursor) >= %{wayland_version} -BuildRequires: pkgconfig(wayland-egl) >= %{wayland_version} -BuildRequires: pkgconfig(wayland-protocols) >= %{wayland_protocols_version} -BuildRequires: pkgconfig(xkbcommon) -%endif +BuildRequires: gettext +BuildRequires: gtk-doc +BuildRequires: meson # standard icons Requires: adwaita-icon-theme @@ -104,32 +84,20 @@ Requires: glib2%{?_isa} >= %{glib2_version} Requires: libepoxy%{?_isa} >= %{epoxy_version} Requires: libXrandr%{?_isa} >= %{xrandr_version} Requires: pango%{?_isa} >= %{pango_version} -%if 0%{?with_wayland} Requires: libwayland-client%{?_isa} >= %{wayland_version} Requires: libwayland-cursor%{?_isa} >= %{wayland_version} -%endif # required to support all the different image formats Requires: gdk-pixbuf2-modules%{?_isa} # make sure we have a reasonable gsettings backend -%if 0%{?fedora} || 0%{?rhel} > 7 Recommends: dconf%{?_isa} -%else -Requires: dconf%{?_isa} -%endif -# gtk3 itself includes the Adwaita theme now -Obsoletes: adwaita-gtk3-theme < 3.13.3 -Provides: adwaita-gtk3-theme = %{version}-%{release} +# For sound theme events in gtk3 apps +Recommends: libcanberra-gtk3%{?_isa} -# gtk3 no longer provides the GtkThemeEngine interface used there -Obsoletes: gtk3-engines <= 2.91.5-5.fc15 -Obsoletes: gtk-solidity-engine < 0.4.1-9 -Obsoletes: oxygen-gtk3 < 2:1.4.1 - -Requires: glibc -Provides: /usr/bin/gtk-launch +# For Tracker search in the file chooser. +Recommends: tracker-miners %description GTK+ is a multi-platform toolkit for creating graphical user @@ -150,8 +118,6 @@ Doc pages for %{name}. %package -n gtk-update-icon-cache Summary: Icon theme caching utility -# gtk-update-icon-cache used to be shipped in the gtk2 package -Conflicts: gtk2 < 2.24.29 %description -n gtk-update-icon-cache GTK+ can use the cache files created by gtk-update-icon-cache to avoid a lot of @@ -179,7 +145,6 @@ The gtk3-immodule-xim package contains XIM support for GTK+ 3. %package devel Summary: Development files for GTK+ Requires: gtk3%{?_isa} = %{version}-%{release} -Obsoletes: gtk3-engines-devel <= 2.91.5-5.fc15 %description devel This package contains the libraries and header files that are needed @@ -204,50 +169,26 @@ The %{name}-tests package contains tests that can be used to verify the functionality of the installed %{name} package. %prep -%setup -q -n gtk+-%{version} -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 +%autosetup -n gtk+-%{version} -p1 %build export CFLAGS='-fno-strict-aliasing %optflags' -(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi; - %configure $CONFIGFLAGS \ - --enable-xkb \ - --enable-xinerama \ - --enable-xrandr \ - --enable-xfixes \ - --enable-xcomposite \ - --enable-xdamage \ - --enable-x11-backend \ -%if 0%{?with_wayland} - --enable-wayland-backend \ -%endif +%meson \ %if 0%{?with_broadway} - --enable-broadway-backend \ + -Dbroadway_backend=true \ %endif - --enable-colord \ - --enable-installed-tests \ - --with-included-immodules=wayland -) - -# fight unused direct deps -sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool - -make %{?_smp_mflags} + -Dbuiltin_immodules=wayland,waylandgtk \ + -Dcolord=yes \ + -Dcloudproviders=false \ + -Dgtk_doc=true \ + -Dinstalled_tests=true \ + -Dman=true \ + -Dtracker3=true \ + -Dxinerama=yes \ +%meson_build %install -%make_install RUN_QUERY_IMMODULES_TEST=false +%meson_install %find_lang gtk30 %find_lang gtk30-properties @@ -258,13 +199,6 @@ make %{?_smp_mflags} echo ".so man1/gtk-query-immodules-3.0.1" > $RPM_BUILD_ROOT%{_mandir}/man1/gtk-query-immodules-3.0-%{__isa_bits}.1 -# Remove unpackaged files -find $RPM_BUILD_ROOT -name '*.la' -delete - -%if !0%{?with_broadway} -rm $RPM_BUILD_ROOT%{_mandir}/man1/broadwayd.1* -%endif - touch $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/%{bin_version}/immodules.cache mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/gtk-3.0 @@ -290,7 +224,6 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || : %{_libdir}/libgailutil-3.so.* %dir %{_libdir}/gtk-3.0 %dir %{_libdir}/gtk-3.0/%{bin_version} -%dir %{_datadir}/gtk-3.0 %{_libdir}/gtk-3.0/%{bin_version}/theming-engines %dir %{_libdir}/gtk-3.0/%{bin_version}/immodules %{_libdir}/gtk-3.0/%{bin_version}/printbackends @@ -307,14 +240,13 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || : %{_datadir}/glib-2.0/schemas/org.gtk.Settings.EmojiChooser.gschema.xml %{_datadir}/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml %{_datadir}/glib-2.0/schemas/org.gtk.exampleapp.gschema.xml +%dir %{_datadir}/gtk-3.0 +%{_datadir}/gtk-3.0/emoji/ %if 0%{?with_broadway} %{_bindir}/broadwayd %{_mandir}/man1/broadwayd.1* %endif -%files doc -%doc AUTHORS NEWS README - %files -n gtk-update-icon-cache %license COPYING %{_bindir}/gtk-update-icon-cache @@ -359,9 +291,10 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || : %{_bindir}/gtk3-demo-application %{_bindir}/gtk3-widget-factory %{_datadir}/gettext/ -%{_datadir}/gtk-3.0/gtkbuilder.rng %{_datadir}/gir-1.0 %{_datadir}/glib-2.0/schemas/org.gtk.Demo.gschema.xml +%{_datadir}/gtk-3.0/gtkbuilder.rng +%{_datadir}/gtk-3.0/valgrind/ %{_mandir}/man1/gtk3-demo.1* %{_mandir}/man1/gtk3-demo-application.1* %{_mandir}/man1/gtk3-icon-browser.1* @@ -374,40 +307,179 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || : %{_datadir}/gtk-doc %files tests -%{_libexecdir}/installed-tests/gtk+ -%{_datadir}/installed-tests +%{_libexecdir}/installed-tests/ +%{_datadir}/installed-tests/ + +%files doc +%doc AUTHORS NEWS README %changelog -* Sat Jul 16 2022 mgb01105731 - 3.22.30-10.0.1 -- Add doc sub package +* Mon Nov 07 2022 Chang Gao - 3.24.31-2.0.1 +- Add doc sub pack + +* Thu Feb 17 2022 David King - 3.24.31-2 +- Fix treeview a11y refcount leak (#2055013) + +* Thu Jan 13 2022 David King - 3.24.31-1 +- Rebase to 3.24.31 (#2010192) + +* Thu Jan 13 2022 David King - 3.24.30-4 +- No entry emoji context menu (#2025439) + +* Mon Aug 09 2021 Mohan Boddu - 3.24.30-3 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Mon Jul 19 2021 Matthias Clasen - 3.24.30-2 +- Fix reftests to work in a vm (#1981790) + +* Tue Jul 13 2021 David King - 3.24.30-1 +- Update to 3.24.30 (#1981790) + +* Fri Apr 23 2021 Kalev Lember - 3.24.29-1 +- Update to 3.24.29 + +* Fri Apr 16 2021 Mohan Boddu - 3.24.28-2 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Sat Mar 27 2021 Kalev Lember - 3.24.28-1 +- Update to 3.24.28 +- Drop old obsoletes + +* Fri Mar 12 2021 Kalev Lember - 3.24.27-1 +- Update to 3.24.27 + +* Tue Feb 23 2021 Kalev Lember - 3.24.26-1 +- Update to 3.24.26 + +* Fri Feb 19 2021 Kalev Lember - 3.24.25-3 +- Backport upstream patch to fix a settings schema loading issue on Wayland + +* Mon Feb 15 2021 Kalev Lember - 3.24.25-2 +- Backport upstream patches to fix regressions in Compose file parsing +- Backport upstream patch to further tweak scrollbar transitions and size + +* Fri Feb 12 2021 Kalev Lember - 3.24.25-1 +- Update to 3.24.25 + +* Tue Jan 26 2021 Fedora Release Engineering - 3.24.24-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Jan 22 2021 Kalev Lember - 3.24.24-2 +- Recommend libcanberra-gtk3 for sound theme events in gtk3 apps + +* Fri Dec 11 2020 Kalev Lember - 3.24.24-1 +- Update to 3.24.24 + +* Tue Nov 24 2020 Kalev Lember - 3.24.23-2 +- Backport a patch to add support for primary-selection-unstable-v1 protocol + +* Fri Sep 04 2020 Kalev Lember - 3.24.23-1 +- Update to 3.24.23 + +* Mon Aug 17 2020 Kalev Lember - 3.24.22-2 +- Rebuild for sysprof-capture-4 + +* Mon Aug 17 2020 Kalev Lember - 3.24.22-1 +- Update to 3.24.22 + +* Tue Jul 28 2020 Fedora Release Engineering - 3.24.21-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 20 2020 Kalev Lember - 3.24.21-1 +- Update to 3.24.21 + +* Mon Apr 27 2020 Kalev Lember - 3.24.20-1 +- Update to 3.24.20 + +* Fri Apr 10 2020 Kalev Lember - 3.24.18-1 +- Update to 3.24.18 + +* Fri Apr 03 2020 Kalev Lember - 3.24.17-1 +- Update to 3.24.17 + +* Fri Apr 03 2020 Kalev Lember - 3.24.16-2 +- Backport upstream fixes for an imwayland crash + +* Fri Mar 27 2020 Kalev Lember - 3.24.16-1 +- Update to 3.24.16 + +* Mon Feb 17 2020 Kalev Lember - 3.24.14-1 +- Update to 3.24.14 + +* Wed Jan 29 2020 Fedora Release Engineering - 3.24.13-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Nov 27 2019 Kalev Lember - 3.24.13-1 +- Update to 3.24.13 + +* Tue Oct 22 2019 Adam Williamson - 3.24.12-3 +- Backport PR #1146 to fix a bug that #1142 introduced... + +* Mon Oct 21 2019 Adam Williamson - 3.24.12-2 +- Backport PR #1142 to try and fix intermittent copy/cut failures + +* Fri Oct 04 2019 Kalev Lember - 3.24.12-1 +- Update to 3.24.12 + +* Wed Sep 04 2019 Kalev Lember - 3.24.11-1 +- Update to 3.24.11 +- Build with sysprof support on F31+ + +* Thu Jul 25 2019 Fedora Release Engineering - 3.24.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Jul 08 2019 Kalev Lember - 3.24.10-1 +- Update to 3.24.10 + +* Tue Jun 18 2019 Kalev Lember - 3.24.9-1 +- Update to 3.24.9 + +* Thu Apr 11 2019 Kalev Lember - 3.24.8-1 +- Update to 3.24.8 + +* Thu Mar 14 2019 Kalev Lember - 3.24.7-2 +- Undo runtime gtk_window_present deprecation warnings + +* Tue Mar 12 2019 Kalev Lember - 3.24.7-1 +- Update to 3.24.7 + +* Tue Mar 12 2019 Kalev Lember - 3.24.6-1 +- Update to 3.24.6 + +* Mon Feb 04 2019 Kalev Lember - 3.24.5-1 +- Update to 3.24.5 + +* Fri Feb 01 2019 Fedora Release Engineering - 3.24.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Jan 21 2019 Kalev Lember - 3.24.4-1 +- Update to 3.24.4 -* Tue Feb 15 2022 David King - 3.22.30-10 -- Further treeview a11y refcount fix (#2032438) +* Mon Jan 14 2019 Kalev Lember - 3.24.3-1 +- Update to 3.24.3 +- Co-own /usr/libexec/installed-tests directory -* Mon Jan 17 2022 David King - 3.22.30-9 -- Fix treeview a11y refcounting (#2032438) -- Be quiet on exit under X11 (#1887266) -- Avoid cellarea resize crash (#2032437) +* Wed Sep 19 2018 Kalev Lember - 3.24.1-1 +- Update to 3.24.1 -* Mon Jul 19 2021 Matthias Clasen - 3.22.30-8 -- Make reftests work in a vm +* Mon Sep 10 2018 Adam Williamson - 3.24.0-4 +- Revert a problematic change that breaks several things (GGO #1316) -* Fri Jul 16 2021 Matthias Clasen - 3.22.30-7 -- Only mention Emoji in context menus when requested (rhbz#1893196) -- Fix warnings from non-overlay scrollbars (rhbz#1873488) +* Fri Sep 07 2018 Kalev Lember - 3.24.0-3 +- Rebuilt against fixed atk (#1626575) -* Wed Jun 03 2020 Kalev Lember - 3.22.30-6 -- Fix reuse of list box header widgets (#rhbz1843486) +* Thu Sep 06 2018 Kalev Lember - 3.24.0-2 +- Backport two bugfixes from upstream -* Thu Nov 21 2019 Benjamin Otte - 3.22.30-5 -- Add setting for turning off overlay scrollbars (rhbz#1736742) +* Thu Sep 06 2018 Kalev Lember - 3.24.0-1 +- Update to 3.24.0 -* Thu Aug 15 2019 Benjamin Otte - 3.22.30-4 -- Include headerbar buttons in accessibility (rhbz#1723836) +* Mon Aug 13 2018 Kalev Lember - 3.23.2-1 +- Update to 3.23.2 -* Mon Jan 14 2019 Olivier Fourdan - 3.22.30-3 -- Fix a couple of crashes when using the accessibility interface under - Wayland (rhbz#1656447) +* Fri Jul 13 2018 Fedora Release Engineering - 3.22.30-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Wed Apr 18 2018 Kalev Lember - 3.22.30-1 - Update to 3.22.30